功能
@dynamicMemberLookup
@frozen
public struct Functions
提供接口的结构,用于使用提供的名称和参数调用MongoDB Realm函数。
user.functions.sum([1, 2, 3, 4, 5]) { sum, error in
guard case let .int64(value) = sum else {
print(error?.localizedDescription)
}
assert(value == 15)
}
动态成员名称(上例中为sum
)与函数名称直接关联。 第一个参数是要提供给函数的BSONArray
参数。 第二个也是最后一个参数是函数调用完成时要调用的完成处理程序。 此处理程序在非主全局DispatchQueue
上执行。
-
用于接收远程函数调用完成情况的闭包类型。
声明
Swift
public typealias FunctionCompletionHandler = (AnyBSON?, Error?) -> Void
-
动态远程函数类型的闭包类型。
声明
Swift
public typealias Function = ([AnyBSON], @escaping FunctionCompletionHandler) -> Void
-
允许动态远程函数调用的 @DynamicMemberLookup 的实现。
声明
Swift
public subscript(dynamicMember string: String) -> Function { get }
-
用于接收远程函数调用完成结果的闭包类型。
声明
Swift
public typealias ResultFunctionCompletionHandler = (Result<AnyBSON, Error>) -> Void
-
动态远程函数类型的闭包类型。
声明
Swift
public typealias ResultFunction = ([AnyBSON], @escaping ResultFunctionCompletionHandler) -> Void
-
允许动态远程函数调用的 @DynamicMemberLookup 的实现。
声明
Swift
public subscript(dynamicMember string: String) -> ResultFunction { get }
-
允许动态远程函数调用的 @DynamicMemberLookup 的实现。
声明