2014-10-03 58 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]检索文本的数组。

相关问题