import RealmSwiftclass RealmService { private init() {} static let shared = RealmService() var realm = try! Realm() func save(Expression: ()) { do { try realm.write { // I want to pass the Expression in this block here Expression } } catch { post(error) } }}
用法:
func savetoRealmDatabase(wishList: WishList,product: Product) { RealmService.shared.save(Expression: { // I want to pass Expression in the block in here as argument wishList.products.append(product) }())}
我想将表达式wishList.products.append(product)作为RealmService类中函数的参数传递.有没有更好的方法来实现这一目标?
解决方法 你的“表达式”可以用type() – >表示. VoID – 一个不接受任何参数并且不返回任何参数的闭包.这是您的方法应该声明的方式:
func save(Expression: @escaPing () -> VoID) { do { try realm.write { Expression() } } catch { post(error) }}
这是你应该如何使用它:
func savetoRealmDatabase(wishList: WishList,product: Product) { RealmService.shared.save(Expression: { wishList.products.append(product) })}总结
以上是内存溢出为你收集整理的ios – 如何在Swift函数中将表达式作为参数传递?全部内容,希望文章能够帮你解决ios – 如何在Swift函数中将表达式作为参数传递?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)