2011-07-22 72 views
0

什麼是保存字符串的最簡單最簡單的方法,以便以後使用。 (數據持久性)iphone開發 - 保存數據用戶界面

我聽說屬性列表中,SQLITE3 ..

+0

這取決於你接下來要做的事情後來與字符串做。有很多方法,包括核心數據,NSUserDefaults,plists等。 – Baub

回答

1

NSUSerDefaults是最簡單,最簡單的:

// To save... 
[[NSUserDefaults standardUserDefaults] setObject:@"my string" forKey:@"someKey"]; 

// To retrieve... 
NSString* recoveredString = [[NSUserDefaults standardUserDefaults] objectForKey:@"someKey"]; 
+0

當你用[NSUserDefaults synchronize]保存時,不要忘記同步; – jabroni

+0

@jabroni,同步不是一個輕量級的方法。該文檔說,如果您不能等待自動同步,則應該只使用它。由於更具體的內容,我選擇忽略它。 –

+0

謝謝你馬特先生! –

2

如果你想很簡單的東西,NSUserDefaults的嘗試

-(void)saveToUserDefaults:(NSString*)myString 
{ 
    NSUserDefaults *standardUserDefaults = [NSUserDefaults standardUserDefaults]; 

    if (standardUserDefaults) { 
     [standardUserDefaults setObject:myString forKey:@"Prefs"]; 
     [standardUserDefaults synchronize]; 
    } 
} 

-(NSString*)retrieveFromUserDefaults 
{ 
    NSUserDefaults *standardUserDefaults = [NSUserDefaults standardUserDefaults]; 
    NSString *val = nil; 

    if (standardUserDefaults) 
     val = [standardUserDefaults objectForKey:@"Prefs"]; 

    return val; 
} 

請記住,你不想以這種方式存儲大量的數據,但如果它是一個簡單的字符串,你需要設置和返回,它將完成工作。

+0

這也適用,但我更傾向於使用它更偏好和「隱藏」的東西比任何其他。 – Baub

+0

如果我有多個字符串,該怎麼辦? (我還是新的) –

+0

你仍然可以做到。 「Pref」是您正在保存的密鑰的名稱。所以如果你有String1和String2,你可以像這樣設置它們。 [standardUserDefaults setObject:@「String1Value」forKey:@「String1Key」]; [standardUserDefaults setObject:@「String2Value」forKey:@「String2Key」]; 您可以使用您創建的鍵來檢索這些值。 – jabroni

0

那麼,這取決於你以後需要做什麼。說實話,我推薦Core Data。它可能超重你需要的東西,但一旦你全力以赴,它是相當容易的。