Objective c 使用for循环在数组中创建具有不同名称的对象

Objective c 使用for循环在数组中创建具有不同名称的对象,objective-c,xcode,object,nsarray,enumerate,Objective C,Xcode,Object,Nsarray,Enumerate,我使用for语句枚举数组中的所有对象。对于数组中的每个对象,我希望使其每次创建一个不同的对象,以便我可以引用不同的对象,例如,数组中有5个字符串对象。我使用for语句枚举每个对象,每次我想创建一个包含文本@“hello”的nsmutablestring时 如果你不明白,这里是简单的。。。。 在一个数组中-5个对象 枚举数组并每次使用单独的名称创建一个新对象,以便我可以引用它: 反对意见1 反对意见2 反对意见3 反对意见4 反对意见5 更新: 我所说的数组是指NSArray 我的问题是,如果我正

我使用for语句枚举数组中的所有对象。对于数组中的每个对象,我希望使其每次创建一个不同的对象,以便我可以引用不同的对象,例如,数组中有5个字符串对象。我使用for语句枚举每个对象,每次我想创建一个包含文本@“hello”的nsmutablestring时

如果你不明白,这里是简单的。。。。 在一个数组中-5个对象 枚举数组并每次使用单独的名称创建一个新对象,以便我可以引用它: 反对意见1 反对意见2 反对意见3 反对意见4 反对意见5

更新:

我所说的数组是指NSArray

我的问题是,如果我正在添加uiimageview…

请不要将
用于(…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);
NSArray*oldArray;
NSMutableArray*newArray;
对于(int i=0;i
编辑:更新以下评论

不要对(…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);
NSArray*oldArray;
NSMutableArray*newArray;
对于(int i=0;i

编辑:更新以下评论

如果我正确理解您的问题,我将使用另一个数组

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
NSMutableArray*arrayOfNewObjects=[[NSMutableArray alloc]init];
对于(int n=0;n<[数组计数];n++){
//[array objectAtIndex:n]是原始对象
[arrayOfNewObjects s addObject:[NSMutableString stringWithString:@“hello”];
}
//[arrayOfNewObjects对象索引:0]将是您的第一个对象

如果我正确理解您的问题,我将使用另一个数组

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
NSMutableArray*arrayOfNewObjects=[[NSMutableArray alloc]init];
对于(int n=0;n<[数组计数];n++){
//[array objectAtIndex:n]是原始对象
[arrayOfNewObjects s addObject:[NSMutableString stringWithString:@“hello”];
}
//[arrayOfNewObjects对象索引:0]将是您的第一个对象

我不确定是否能回答您的问题。。。 数组对象已由其索引唯一标识。 为什么需要不同的名称(NSString*指针)

当您已经知道这个数组中有多少字符串,以及每个字符串代表什么时,这可能是相关的。(例如,表示程序的某些配置参数的字符串数组……如果有人想到更好的示例:)
在这种情况下,如果您希望有一种清晰而独特的方式来访问数组的每个成员,您不需要不同的指针名称,只需对数组的索引使用int常量即可-(在C宏中声明,或者在枚举中声明)

我不确定是否能回答您的问题。。。 数组对象已由其索引唯一标识。 为什么需要不同的名称(NSString*指针)

当您已经知道这个数组中有多少字符串,以及每个字符串代表什么时,这可能是相关的。(例如,表示程序的某些配置参数的字符串数组……如果有人想到更好的示例:)

在这种情况下,如果您希望有一种清晰和独特的方式来访问数组的每个成员,您不需要不同的指针名称,只需对数组的索引使用int常量即可-(在C宏中声明,例如在枚举中声明)

确定,但我的问题是它是一个uiimageview。。。这仍然有效吗?我想使用cgrectintersectsrect查看它是否与OK相交,但我的问题是它是一个uiimageview。。。这仍然有效吗?我想使用cgrectintersectsrect查看它是否相交,但我需要在cgrectintersectsrect中引用它并使用.hidden之类的东西,既然创建了许多“视图”,我将如何引用它们other@user973985你有两个选择。您可以执行
[newArray objectAtIndex:x]
或者如果您将它们作为子视图添加,您可以执行
[myView ViewWith Tag:x]
。但是我需要在CGRectIntersectsRectand中引用它并使用.hidden和类似的东西,因为创建了许多“视图”,我将如何引用它们other@user973985你有两个选择。你可以做
[newArray objectAtIndex:x]
,或者如果你将它们作为子视图添加,你可以做
[myView view with tag:x]
。但是我使用的是uiimageview,我需要特别为隐藏属性引用它,所以你不可以从数组中强制转换它吗?
(uiimageview*)[ArrayOfiImageViews objectAtIndex:YOUR\IMG\u INDEX]
typecast?这将不起作用,我仍然无法访问uiimageview任务,如hidden和Rectah,明白了,使用类型转换的数组ObjectIndex创建一个新变量,但我使用的是uiimageview,我需要特别为隐藏属性引用它,所以您是否可以从数组中转换它?
(uiimageview*)[arrayOfImageViews objectAtIndex:YOUR_IMG_INDEX]
typecast it?这不起作用,我仍然无法访问uiimageview任务,如hidden和rectahh,明白了,用typecasted数组objectAtIndex创建一个新变量