码迷,mamicode.com
首页 > 其他好文 > 详细

Watch 应用与 iPhone应用 之间传值

时间:2015-05-21 17:38:12      阅读:116      评论:0      收藏:0      [点我收藏+]

标签:

Apple Watch       -----------?      iPhone

[WKInterfaceController openParentApplication:@{@"type":@"song", @"para":@{@"channelID":channelID}} reply:^(NSDictionary *replyInfo, NSError *error) {
        if(replyInfo){
            // 对iPhone返回的数据进行解档
            NSArray *array  = [NSKeyedUnarchiver unarchiveObjectWithData:[replyInfo objectForKey:@"songs"]];     
        }
    }];


该方法是 WatchKit里面用来调用iPhone主体的接口,对应的要在iPhone端的AppDelegate中实现:

- (void)application:(UIApplication *)application handleWatchKitExtensionRequest:(NSDictionary *)userInfo reply:(void(^)(NSDictionary *replyInfo))reply NS_AVAILABLE_IOS(8_2);

*注意 ios8.2+才有该方法。

iPhone       ---------------?           apple watch

#pragma mark - WatchKit Data
- (void)application:(UIApplication *)application handleWatchKitExtensionRequest:(NSDictionary *)userInfo 
        reply:(void(^)(NSDictionary *replyInfo))reply {
    NSString *type = userInfo[@"type"];
    NSDictionary *para = userInfo[@"para"];
    
    NSDictionary *response = nil;
    if ([type isEqualToString:@"song"])
    {
        //  response = @{@"songs":@"11111"};
        NSArray *songArray = [NSArray arrayWithObjects: MySong1, Mysong2, nil];// Mysong 是自定义数据类型
        respone = @{@"songs":[NSKeyedArchiver archivedDataWithRootObject:songArray]};
    }
    reply(respone);
}

*****注意******

此处数据如果是不可序列化的,需进行可序列化处理。数据归档和解档要对应。



Watch 应用与 iPhone应用 之间传值

标签:

原文地址:http://my.oschina.net/lavzchen/blog/417818

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!