1
我对Watchkit/iOS应用程序通信有点困惑。这就是我要做的如何使用Watchkit进行异步操作(GPS + API调用)和
- 按下一个按钮上的手表
- 获得的(通过电话)
- 请与GPS定位
- 目前后端结果的后端调用当前GPS位置对手表
我想我在正确的轨道上WKInterfaceController.openParentApplication和handleWatchKitExtensionReque st但我怎样才能做异步调用?
func application(application: UIApplication!,
handleWatchKitExtensionRequest userInfo: [NSObject : AnyObject]!,
reply: (([NSObject : AnyObject]!) -> Void)!) {
// 1
if let request = userInfo["request"] as? String {
if request == "refreshData" {
var backendService = BackendService()
var locationManager = LocationManager()
locationManager.updateLocation()
// How to wait for location manager to get lat/long?
backendService.makeAFantasticCAll(locationManager.latitude, longitude: locationManager.longitude)
// How to wait for result? Should i use a delegate? How can i fire reply() in this delegate?
// 3
reply(["result": NSKeyedArchiver.archivedDataWithRootObject(result)])
return
}
}
// 4
reply([:])
}