2014-10-03 59 views
-6

好吧,所以我有一個程序,它將用戶首選項保存在自己的密鑰中。因此,我真的不知道用戶在使用什麼,他們可以根據自己的喜好創建儘可能多的數據,我希望能夠擁有一個可以從程序中獲取所有NSUserDefaults的表視圖,以及顯示它。所有NSUserDefaults,所有在桌面視圖

我可以製作一個包含所有NSUserDefaults的數組嗎?我知道如何顯示數組。 這已解決!

好吧,這就是我解決它的方法,每次用戶創建新對象時,它都會保存到NSArray中,並將NSArray保存到NSUserDefaults中。我有prepareForSegue這將給tableView的信息,它顯示出來。當單元格被按下時,它獲取單元名稱,並輸入forKey然後它工作!

從下面的回答問題的一些幫助!

感謝您花時間回答的人!

+0

讓我猜一猜,你想要這個用戶設置? – 2014-10-03 11:11:26

+0

不,你沒有到處搜索。像這裏的大多數問題一樣,你需要的是寫在班級參考文件上。 – Desdenova 2014-10-03 11:14:02

+0

你有沒有完成任何在線教程? SO不是代碼編寫服務,但是你可以添加一個NSArray(或NSMutableArray)給NSUserDefaults,這樣你就可以將你所有的字符串存儲到一個數組中,並簡單地將數組寫入/讀取到NSUserDefaults – Paulw11 2014-10-03 11:14:05

回答

1

您可以將數組設置爲userDefaults,其實現非常簡單。

- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 
    [self addTextToUserDefaults:@"hello"]; 
    [self addTextToUserDefaults:@"how are you?"]; 
    [self addTextToUserDefaults:@"hi"]; 

    for (NSString *text in [self textsInUserDefaults]) { 
     NSLog(@"%@", text); 
    } 
} 

- (void)addTextToUserDefaults:(NSString *)aText 
{ 
    NSMutableArray *texts = [[[NSUserDefaults standardUserDefaults] objectForKey:@"textArray"] mutableCopy]; 
    if (!texts) { 
     texts = [NSMutableArray new]; 
    } 
    [texts addObject:aText]; 

    [[NSUserDefaults standardUserDefaults] setObject:texts forKey:@"textArray"]; 
    [[NSUserDefaults standardUserDefaults] synchronize]; 
} 

- (NSArray *)textsInUserDefaults 
{ 
    return [[NSUserDefaults standardUserDefaults] objectForKey:@"textArray"]; 
} 

所以,你可以簡單地複製addTextToUserDefaultstextsInUserDefaults方法
呼叫[self addTextToUserDefaults:textField.text];添加文本,
電話[self textsInUserDefaults]檢索文本的數組。

相關問題