2014-03-30 81 views
1

我在做一個像徽標測驗的遊戲;什麼是保存數據的正確方法?

將使用下面的代碼是適當的保存和讀取數據:

此代碼將只允許用戶一次,一次只能播放特定的標誌!

當然我會連接每一個有動作的插座!

這是正確的方法還是應該嘗試其他方法?

[super viewDidLoad]; 

{ NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; 
    NSString *loadstring = [defaults objectForKey:@"savedstring"]; 
    [_textbox setText:loadstring]; 
} 

- (IBAction)btncheck:(id)sender { 
    NSString *savestring = _textbox.text; 
    NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; 
    [defaults setObject:savestring forKey:@"savedstring"]; 
    [defaults synchronize]; 
} 
+0

你的代碼似乎是合適的:對於一個簡單的案例來說沒關係。也許在一個更復雜的情況下,你會有更多的數據要保存,你可以使用'NSUserDefault'以外的東西,它只適用於這種簡單的情況。 – Vinzzz

+0

@Vinzzz更復雜的情況下,如保存分數和硬幣數據,是否正確? – Ricky

+0

@Ricky更復雜時,不再是原始數據,你會想要使用數據庫來代替。 – meda

回答

0

我只是想補充一點清晰的,如果這是你要使用的話,我不認爲這是適當的實際代碼。你提到你只希望每個標識只能被一次性回答。如何將字符串保存到NSUserDefaults實現此目的?

給定代碼並假設您讓用戶在文本框中輸入內容,您將獲得與密鑰一起存儲的不同值savedstring以前的值不會被記住。

或者假設您不允許用戶向文本框中添加任何內容並繼續添加到字符串並保存它,那麼您不會顯示如何檢查其是否已被使用/檢查?

而不是一個字符串,你可以保存一個NSDictionary到NSUserDefaults,Saving NSDictionary to NSUserDefaults,每個鍵可以涉及到標誌。然後,您可以檢查密鑰是否已經存在於字典中。添加任何新的字典並再次保存。

相關問題