ios - 在 swift 中发布执行闭包 block

标签 ios swift forecastr

我正在快速使用一些 API。我遇到了用于天气的 Forecast.io API,下载了一个 objective-c 包装器,并在我的 xcode 项目中创建了一个桥接 header 。我遇到的唯一问题是我有一个不会执行的闭包(objective-c block )。这是代码:

    var geocoder:CLGeocoder = CLGeocoder()
    geocoder.geocodeAddressString("1 Infinite Loop, Cupertino, CA", completionHandler: {objects, error in
        if (objects.count >= 0) {
            println("yes")
            curLocPlacemark = objects[0] as? CLPlacemark
            if(curLocPlacemark != nil) {
                curLocation = curLocPlacemark!.location
            }
        } else {
            println("no")
        }
    })

调试时,调试器到达 geocoder.geocodeAddressString("1 Infinite Loop, Cupertino, CA", completionHandler: {objects, error in 行,然后跳过其余行显示。这只是我找不到的愚蠢语法错误吗?谢谢!

最佳答案

闭包内的代码是异步执行的——它在地址字符串地理编码完成后由地理编码器打包并执行。 (这就是闭包 - 包装代码和上下文以供稍后执行。)您是否在日志中看到正确的输出?

关于ios - 在 swift 中发布执行闭包 block ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25881327/

相关文章:

iphone - 自定义 UITableViewCell 在 init* 中设置所有内容或使用属性

iphone - 是否可以在用户没有在iOS中点击本地通知的情况下自动启动应用程序?

swift - 如何将圆角半径添加到 UIStackView 并屏蔽 subview

swift - Array 不连接 tableView(numberOfRowsInSection) 方法

ios - 如何使 UITextView 在 Swift 中可选择

ios - 无法使用 Forecastr 包装器的 JSON 结果

ios - 如何将导航栏置于相机框架的顶部?

ios - 使用自定义 NSURLProtocol 时 WebView 无法处理响应