我有一個問題,在本地存儲中爲包含NSString列表的NSMutableArray存儲數據。 我有一個保存方法和一個get方法都應用程序運行時似乎工作。但是,一旦我關閉了應用程序並重新啓動數組中的項目就消失了。無法從NSUserDefaults中檢索NSMutableArray
NSMutableArray*ImageTags;
獲取數據
-(NSMutableArray*)GetDataNSMutableArray:(NSString*)ItemName
{
NSMutableArray *GetData = [[NSMutableArray alloc] init];
NSUserDefaults *currentDefaults = [NSUserDefaults standardUserDefaults];
NSData *dataRepresentingSavedArray = [currentDefaults objectForKey:ItemName];
if (dataRepresentingSavedArray != nil)
{
NSArray *oldSavedArray = [NSKeyedUnarchiver unarchiveObjectWithData:dataRepresentingSavedArray];
if (oldSavedArray != nil)
GetData = [[NSMutableArray alloc] initWithArray:oldSavedArray];
else
GetData = [[NSMutableArray alloc] init];
}
return GetData;
}
保存數據
-(void)SaveDataNSMutableArray:(NSString*)ItemName:(NSMutableArray*)Data
{
[[NSUserDefaults standardUserDefaults] setObject:[NSKeyedArchiver archivedDataWithRootObject:Data] forKey:ItemName];
}
如何添加項目
[ImageTags addObject:Control.titleLabel.text]
如何數組保存
[super SaveDataNSMutableArray:CVC_ImageURL:ImageTags];
陣列如何檢索
ImageTags = [super GetDataNSMutableArray:CVC_ImageURL];
可可編碼約定將在方法名和變量名的開始喜歡小寫字符。大寫字符開始類名稱。 'NSMutableArray * getData'和' - (void)saveDataNSMutableArray ...'等... – ikuramedia
檢查我的其他..從這裏回答.. http://stackoverflow.com/a/14258828/1702413 – TonyMkenu