我使用for语句来枚举数组中的所有对象。对于数组中的每个对象,我想使它每次都创建一个不同的对象,所以我可以引用不同的对象,例如数组中有5个字符串对象。我使用for语句来枚举每个对象,每次我想创建一个包含文本@“hello”的nsmutablestring
for (NSString *string in array) {
// Ignore string variable
NSMutableString *
// I have this problem, how do I code it so that it makes a new NSMutableString with a separate name that i can specify
// so i can refer to it
= [NSMutableString alloc] init];
// More code that is not relevant
}
如果你不明白这里是短暂的.... 在数组中 - 5个对象 枚举数组并每次使用单独的名称创建一个新对象,以便我可以引用它: object1 对象2 object3 object4 object5
更新
通过数组我的意思是NSArray
我的问题是我正在添加uiimageview ...
答案 0 :(得分:2)
我不确定会得到你的问题...... 数组对象已由其索引唯一标识。 为什么需要不同的名称(NSString *指针)???
当你已经知道这个数组中有多少个字符串以及它们各自代表什么时,这可能是相关的。 (例如,表示程序的一些配置参数的字符串数组......如果有人想到更好的例子:) 在这种情况下,如果您想要一种清晰且独特的方式来访问数组的每个成员,则不需要不同的指针名称,只需对数组的索引使用int常量 - (在C宏中声明,或在例如enum)
答案 1 :(得分:1)
请勿使用for (... in ...)
,仅使用以下标准:
NSArray *oldArray;
NSMutableArray *newArray;
for (int i = 0; i < oldArray.count; i++)
{
UIImageView *view = [UIImageView new];
view.tag = i;
[newArray addObject:view];
[view release];
}
NSLog(@"%@", newArray);
编辑:更新以下评论
答案 2 :(得分:1)
如果我正确理解你的问题,我会使用另一个数组
NSMutableArray * arrayOfNewObjects = [[NSMutableArray alloc] init];
for (int n = 0; n < [array count]; n++) {
//[array objectAtIndex:n] is original object
[arrayOfNewObjects addObject:[NSMutableString stringWithString:@"hello"]];
}
//[arrayOfNewObjects objectAtIndex:0] would be your first object