2017-02-17 1 views
0

NSMutableArray의 JSON 데이터를 NSData에 serialize하여 updateApplication 당 전송합니다. 예상대로 모든 가서 WatchKit didReceiveApplicationContext에 - 방법은 NSArray에 NSData

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를 다시 전송할 수 있습니까? 나는

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

을 시도하지만

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

저를 제공합니다 ....

갱신하십시오 SIGABRT 오류가 : enter image description here

+1

'applicationData'는 NSDictionary가 아니고 NSData입니다. 키'JSONData'에 대한'NSData' 객체를 가져와야합니다. – vadian

+0

'NSDictionary' 안에'jsondata'를 저장 했으므로 두번 구문 분석해야하는 것처럼 보입니다. – KrishnaCA

+0

당신은 절대적으로 옳습니다. –

답변

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

그것을

나요