首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >将字典数组从iPhone发送到watchkit应用程序

将字典数组从iPhone发送到watchkit应用程序
EN

Stack Overflow用户
提问于 2015-03-03 13:39:40
回答 1查看 713关注 0票数 0

代码: AppDelegate.swift

代码语言:javascript
复制
 func application(application:UIApplication!,
        handleWatchKitExtensionRequest userInfo: [NSObject : AnyObject]!,
                reply: (([NSObject : AnyObject]!) -> Void)!)
            {
                let entityDescription =
                NSEntityDescription.entityForName("Quote",
                    inManagedObjectContext: managedObjectContext!)

                let request = NSFetchRequest()
                request.entity = entityDescription

                let pred = NSPredicate(format: "(quoteDate = %@)", "2015-03-08")
                request.predicate = pred

                var error: NSError?

                var objects = managedObjectContext?.executeFetchRequest(request,
                    error: &error)

                if let results = objects {

                    if results.count > 0 {
                         arrQuotes = NSMutableArray()

                        for(var i=0;i<results.count;i++){
                            let match = results[i] as! NSManagedObject
                            var quote = match.valueForKey("quote") as! NSString
                            arrQuotes.addObject(quote)
                        }
                        var dict = ["test": arrQuotes]
                        reply(dict)
                    } else {

                    }
                }

catecontroller.swift

代码语言:javascript
复制
override func awakeWithContext(context: AnyObject?) {
        super.awakeWithContext(context)
         arrQuotes = NSMutableArray()
        var dict = ["test" : arrQuotes]

        if !WKInterfaceController.openParentApplication(dict, reply: { (reply,error) -> Void in
            println("\(reply)") //your reply data as Dictionary
            self.arrQuotes = dict["test"]!
           println("\(self.arrQuotes.count)")
        }) {
            println("ERROR")
        }

我正在做一个示例watchkit project.What,我要做的是从iPhone端获取数据并将其发送给watchkit应用程序。我试图在watchkit端将值作为dictionary.but数组返回,我得到数组计数为零。我不知道我哪里出错了?任何帮助都会提前到appreciated.thanks

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-03-03 17:01:12

我猜您的iOS应用程序功能有一些问题。我认为您的reply闭包很可能没有被调用。首先,我将尝试简化您的逻辑,以确保reply实际上是正确的。然后,您可以正确地传递数据。首先,我要简单地说明以下的逻辑:

catecontroller.swift

代码语言:javascript
复制
override func awakeWithContext(context: AnyObject?) {
    super.awakeWithContext(context)

    WKInterfaceController.openParentApplication(["dummy": "dictionary"]) { reply, error in
        println("Reply: \(reply)")
        println("Error: \(error)")
    }
}

AppDelegate.swift

代码语言:javascript
复制
func application(
    application: UIApplication!,
    handleWatchKitExtensionRequest userInfo: [NSObject : AnyObject]!,
    reply: (([NSObject : AnyObject]!) -> Void)!)
{
    // Worry about this logic later...

    reply(["test": "value"])
}

一旦这个简化版本正确地传递了数据,没有错误,那么您就可以添加数据传递逻辑。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28833265

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档