我有一堆需要写的已保存的nsuserdefault参数(确切地说是20辆车)。我想知道写这篇文章最好的方法是什么。我按顺序编号,因为我相信for循环是合适的(不太确定)。下面的代码代表了我想要做的事情的片段。
NSString *emailBody=[NSString
stringWithFormat:@"%@, %@, %@",[[NSUserDefaults
standardUserDefaults]stringForKey:@"Car1"],[[NSUserDefaults
standardUserDefaults]stringForKey:@"Car2"],[[NSUserDefaults
standardUserDefaults]stringForKey:@"Car3"]];
答案 0 :(得分:2)
没有理由保存20个单独的项目。只需将它们放在一个数组中,然后使用setObject:forKey:
存储数组。然后,您可以使用stringArrayForKey:
(或arrayForKey:
或甚至只是objectForKey:
)将它们全部作为数组提取。
拥有数组后,创建以逗号分隔的列表非常简单:
NSString *emailBody = [array componentsJoinedByString:@", "];
如果你必须将它们存储为20项兼容性,我仍然会将它们从NSUserDefaults
中拉出来并在实际使用之前将它们放入一个数组中。
答案 1 :(得分:0)
略微整洁:
NSMutableString *emailBody = [[NSMutableString alloc] init];
for (unsigned i = 1; i <= 20; i++) {
if (i > 1)
[emailBody appendString:@", "];
[emailBody appendString:[[NSUserDefaults standardUserDefaults]
stringForKey:[StringWithFormat:@"Car%d", i]]];
}
答案 2 :(得分:0)
只需使用for
循环,就像这样。
NSMutableArray *a = [NSMutableArray array];
for (int i=1;i<21;i++)
{
[a addObject:[NSString stringWithFormat:@"Car%d", i]];
}
然后将数组放入一个字符串中。