【发布时间】:2012-03-14 12:54:01
【问题描述】:
NSMutableArray *nameArray = [[NSMutableArray alloc] init];
[nameArray addObject:@"abc"];
[nameArray addObject:@"cdf"];
[nameArray addObject:@"jkl"];
//Use a for each loop to iterate through the array
for (NSString *s in nameArray) {
NSLog(@"value is %@", s);
}
上面的代码显示了nameArray的所有值。但我想将所有这些值分配给这些 NSString:
NSString *a;
NSString *b;
NSString *cd;
一个数组可以有1个或多个元素,但不超过5个。
实际上,我有 5 个按钮,单击每个按钮都会向 NSMutableArray 添加一个 NSString 值(值分别为:f1、f2、f3、f4 和 f5)。现在,如果他在一天内单击 2 个按钮或 3 个或 5 个按钮,则由用户决定。现在所有这些值都将保存在 NSMutableArray 中(可以是 1 或 2,但不超过 5)。该 NSMutableArray 将保存在 NSUserDefaults 中。这个 NSMutableArray 将用于我有一些 UIImageView(1、2、3、4 和 5)的另一个视图中。现在,我将从该 Array(f1,f2,f3) 中获取字符串值。如果是 f1 则将图像分配给 UIImage 1,如果是 f3 则分配给图像 3,依此类推。
如何做到这一点?
【问题讨论】:
-
你为什么要这个?因为数组可能包含超过 3 个元素,那么呢?
-
因为这些值需要分配给其他变量以供进一步使用,例如标签文本。是的,你是对的,但每个数组的元素不会超过 5 个。它可以是 1 个或更多,但不能超过 5 个。我该如何解决这个问题。?
-
那么为什么不这样做
myLabel.text = [nameArray objectAtIndex:0];- 通过将它们分配给其他指针,您将面临内存管理错误的风险:( -
是的,但我可能需要将这些值保存到 NSUserDefaults
-
我仍然有一种印象,即我们正在为一个可以以更有效的方式解决的问题提供答案。如果您能更详细地向我们描述您想要实现的目标,也许我们可以为您提供更好的帮助。
标签: iphone objective-c ios xcode