我想用KeychainItemWrapper
類保存NSArray
我們如何節約使用的NSArray KeychainItemWrapper類(ARC)
我已經知道,我們可以存儲NSDictionary
閱讀This Question
但它不工作
後這是我迄今所做
NSArray *myArray = [[NSArray alloc]initWithObjects:@"Hello1",@"Hello2",@"Hello3",@"Hello4", nil];
NSDictionary *myDic = [[NSDictionary alloc]initWithObjectsAndKeys:myArray, @"arrayKey", nil];
NSString *error;
NSData *dictionaryRep = [NSPropertyListSerialization dataFromPropertyList:myDic format:NSPropertyListXMLFormat_v1_0 errorDescription:&error];
KeychainItemWrapper *keychain =
[[KeychainItemWrapper alloc] initWithIdentifier:@"MyIdentifier" accessGroup:nil];
[keychain setObject:dictionaryRep forKey:(__bridge id)kSecValueData];
但是在設定對象的最後一行是崩潰。
埃羅日誌:
2013-10-01 12:16:47.590 stackoverflowtry[3883:a0b] -[__NSCFData dataUsingEncoding:]: unrecognized selector sent to instance 0xa1686a0
2013-10-01 12:16:47.593 stackoverflowtry[3883:a0b] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[__NSCFData dataUsingEncoding:]: unrecognized selector sent to instance 0xa1686a0'
需要幫助。
請讓我知道如何保存任何的NSDictionary的NSArray或者,既會爲我工作.. –
爲什麼你用「(__bridge ID) kSecValueData「作爲存儲在字典中的關鍵字?,您是否記錄了該值以檢查值? – josh
@josh:(__bridge id)kSecValueData是KeychainItemWrapper.m文件中的預定義鍵...我不允許我們被允許使用用戶定義鍵....並且如果我只是通過NSString而不是dictionaryRep,此代碼可以正常工作。 –