我有一个函数在完成处理程序中返回Int值,但是有时,我想在从其他类调用时跳过完成处理程序,而只具有Int值。下面是我的代码。这里的totalEvents是带有完成处理程序的。
就像我需要在下面的方法中调用
let initialDBCount = self.totalEvents()
func totalEvents(completion: @escaping (_ eventsCount: Int? ) -> Void ) {
self.fetchEvents(forPredicate: nil, withSort: nil, andLimit: nil, completion: { (events) -> Void in
guard let fetchEvents = events else {
return
}
if fetchEvents.count > 0 {
completion(fetchEvents.count)
}
})
}
答案 0 :(得分:1)
将completion
处理程序设为可选,并将nil
设置为其默认值,即
func totalEvents(completion: ((_ eventsCount: Int?)->())? = nil)
用法:
totalEvents
可以通过两种方式调用,
1。。没有completion
处理程序
totalEvents()
2。。使用completion
处理程序
totalEvents { (value) in
print(value)
}
答案 1 :(得分:0)
使完成是否可选(_eventsCount:Int?)->())? = nil或致电
之类的补全$inc