Я пытаюсь отправить массив в InterfaceController с помощью следующего метода в делегате приложения:
- (void)application:(UIApplication *)application handleWatchKitExtensionRequest:(NSDictionary *)userInfo reply:(void (^)(NSDictionary *))reply
{
NSLog(@"Request received by iOS app");
NSMutableArray *mutableArray = [[NSMutableArray alloc] initWithCapacity:20];
for (NSDictionary *object in [[NSUserDefaults standardUserDefaults] objectForKey:@"reminders"]) {
NSString *subject = object[@"subject"];
[mutableArray addObject:subject];
}
NSLog(@"MUTABLE ARRAY: %@", mutableArray);
NSDictionary *dictionary = [[NSDictionary alloc] initWithObjectsAndKeys:mutableArray, @"key", nil];
reply(dictionary);
}
И в контроллере интерфейса:
- (IBAction)callPhoneAppButtonTapped
{
NSDictionary *dictionary = [[NSDictionary alloc] initWithObjectsAndKeys:@"text to display", @"key", nil];
[InterfaceController openParentApplication:dictionary reply:^(NSDictionary *replyInfo, NSError *error) {
NSLog(@"Reply received by Watch app: %@", replyInfo);
}];
}
Проблема в том, что я вижу массив в App Delegate, но не могу прочитать ответ в InterfaceController Apple Watch?
Любые предложения по этому подходу или лучший подход для отправки массива в InterfaceController для создания таблицы?
NSLog(@"Reply received by Watch app: %@", replyInfo);
вообще попадает под удар? Также попробуйте распечатать ошибку:if (error) NSLog(@"error=%@", error);
- person SeaJelly   schedule 07.07.2015