2017-02-17 11 views
0

NSMutableArrayのJSONデータをNSDataにシリアル化して、updateApplicationごとに転送しました。期待とWatchKit didReceiveApplicationContextにとすべてが行ってきました - 方法もNSDataからNSArray

NSData *serialized = [NSKeyedArchiver archivedDataWithRootObject:array]; 
[[NSUserDefaults standardUserDefaults] setObject:serialized forKey:@"myKey"]; 

NSDictionary *applicationData = [[NSDictionary alloc] initWithObjects:@[serialized] forKeys:@[@"JSONData"]]; 
NSError *error = nil; 
//Send Message to the iPhone (handle over the goal value) 
if ([WCSession defaultSession]) { 
    [[WCSession defaultSession] updateApplicationContext:applicationData error:&error]; 

呼び出されますしかし、どのように私は戻ったNSArrayやNSMutableArrayのためにそれを転送することができますか?更新が

NSMutableArray *keys = [s allKeys]; 
NSMutableArray *values = [s allValues]; 

....私は

NSArray *responseArray = [NSJSONSerialization JSONObjectWithData:applicationContext options:0 error:&jsonParsingError]; 

を試してみました。しかし、私はSIGABRTエラーを取得する私を与える: enter image description here

+1

'applicationData'はNSDictionaryで、NSDataではありません。キー 'JSONData'の' NSData'オブジェクトを取得する必要があります。 – vadian

+0

'NSDictionary'の中に' jsondata'を格納しているので、2回解析する必要があるように見えます。 – KrishnaCA

+0

あなたは絶対的です –

答えて

0
NSData*counterValue = [applicationContext objectForKey:@"JSONData"]; 
NSArray *array = [NSKeyedUnarchiver unarchiveObjectWithData:counterValue]; 

それをやりました
関連する問題