App Delegate 内で次のメソッドを使用して、配列を 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 で配列を確認できますが、Apple Watch の InterfaceController で応答を読み取れないことです。
このアプローチに関する提案、またはテーブルを作成するために配列を InterfaceController に送信するためのより良いアプローチはありますか?