ios - 如何使用 swift 执行SelectorOnMainThread 并在不使用闭包的情况下获取返回值?

标签 ios swift cocoa cocoa-touch

我尝试运行的函数是这样的:

func dateFromSection(section: Int) -> (startDate: NSDate, endDate: NSDate)?

如何使用以下代码运行它并捕获返回值而不使用调度函数?

performSelectorOnMainThread(aSelector: Selector, withObject: AnyObject?, waitUntilDone: Bool)

最佳答案

如果您绝对确定您没有已经在主线程上,您可以执行以下操作:

var dates: (startDate: NSDate, endDate: NSDate)?
dispatch_sync(dispatch_get_main_queue()) {
    dates = someObject.dateFromSection(section)
}

关于ios - 如何使用 swift 执行SelectorOnMainThread 并在不使用闭包的情况下获取返回值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37506262/

相关文章:

ios - 重播套件未记录父应用程序中的第二个应用程序

swift - 调度队列异步调用

objective-c - Rust Cocoa - 如何迭代 NSArray

objective-c - 更改 OS X 桌面背景图像缩放模式

ios - 无法从 sqlite 中删除我的 TableView 中的行数据

ios - 如何将计时器移至后台线程

iphone - 重新登录时 Facebook iOS Api 调用失败,但 isSessionValid 为 YES

iOS 10 和为属性文本设置自定义字体

ios - Swift:放置在 tableviewcell 中的图像不可见

swift - 仅在 NSStatusBarButton 右键单击​​时显示 NSMenu?