我正在構建一個博客的應用程序,用戶可以保存他們最喜歡的帖子。在iOS上存儲對象 - 最佳解決方案?
當他們這樣做時,我想存儲我的對象,其中包含:帖子的網址,標題和圖片網址。
我應該爲UserDefaults
(原NSUserDefaults
)還是Core Data
馬上開始?
我正在構建一個博客的應用程序,用戶可以保存他們最喜歡的帖子。在iOS上存儲對象 - 最佳解決方案?
當他們這樣做時,我想存儲我的對象,其中包含:帖子的網址,標題和圖片網址。
我應該爲UserDefaults
(原NSUserDefaults
)還是Core Data
馬上開始?
我應該去用戶默認值還是馬上開始使用核心數據?
這裏還有更多的可能性:你也可以使用純文件或plists,或者使用沒有Core Data的sqlite。答案取決於你打算存儲的項目數:
由於對物品的收藏一般不會是100K的項目,然後我會用NSDictionary
一個項目,並將它們存儲到一個NSMutableArray
,然後將它們保存到一個文件中。它使用起來很簡單,您還可以將收藏夾導出到一個文件或甚至iCloud
以在設備之間共享。
NSMutableDictionary *item = [[ NSMutableDictionary alloc]init];
[item setObject:@"www.google.com" forKey:@"url"];
[item setObject:@"Google" forKey:@"title"];
//Add each item to the Favourites array
//You should declare this outside of the "addToFavourites" function.
NSMutableArray *Favourites = [[NSMutableArray alloc]initWithObjects: nil];
[Favourites addObject:item];
//Save the Favourites NSMutableArray to the file.
if([Favourites writeToFile:path atomically:NO])
NSLog(@"Favourites are saved!");
感謝您的示例代碼,現在確實計劃使用這個技巧來存儲我的用戶的最愛。 – sf89
+1:數字可能不同,你(尤其是對違約/ Plist檔案數據問題的大小,但一般建議十分合理 –
也有可能被寫入使用NSArchiver二進制文件... ID爲說20到200 –
+1:聽起來像是對我的忠告,就我個人而言,我可能會使用核心數據方法,假設用戶可以喜歡很多這些項目......另外,使用MagicalRecord(請參閱https ://github.com/magicalpanda/MagicalRecord),核心數據很容易 –