Ios 如何使用唯一的名称初始化多个对象
我相信这是一个非常基本的程序,所以请原谅这个新手问题 我如何初始化几个对象,使用相同的代码,但每个对象都有一个唯一的名称?我可以创建一个字符串来表示名称,但如何将其应用为实际的对象名称?我可以重命名对象吗 顺便说一句,目的是让我可以在以后的某个时间对每个按名称引用它们的对象执行操作。。。我认为唯一的名字可以解决这个问题Ios 如何使用唯一的名称初始化多个对象,ios,xcode,object,namespaces,rename,Ios,Xcode,Object,Namespaces,Rename,我相信这是一个非常基本的程序,所以请原谅这个新手问题 我如何初始化几个对象,使用相同的代码,但每个对象都有一个唯一的名称?我可以创建一个字符串来表示名称,但如何将其应用为实际的对象名称?我可以重命名对象吗 顺便说一句,目的是让我可以在以后的某个时间对每个按名称引用它们的对象执行操作。。。我认为唯一的名字可以解决这个问题 NSString *theName = [NSString stringWithFormat:@"textView%d",tvNum]; tvNum ++;
NSString *theName = [NSString stringWithFormat:@"textView%d",tvNum];
tvNum ++;
UITextView *myTextView = [[UITextView alloc] initWithFrame:CGRectMake(self.view.bounds.size.width /2, self.view.bounds.size.height /2, 100, 100)];
[self.view addSubview:myTextView];
NSString *theText = [[NSString alloc] initWithString:@"string"];
[myTextView setText:theText];
您可以稍后向控制器添加标记以引用它
myTextView.tag = somePreCalculatedTagValue;
稍后,通过将该标记值与控制器匹配,您可以执行您想要的操作
if(myTextView.tag == kTagForFirstTextView)
{
//do something
}
最好创建一个对象数组。您可以使用for循环来设置它们:
NSMutableArray *objectArray = [[NSMutableArray alloc] initWithCapacity:NUM_OF_OBJECTS];
for (int i = 0; i < NUM_OF_OBJECTS; i++) {
UITextView *myTextView = [[UITextView alloc] initWithFrame:CGRectMake(self.view.bounds.size.width /2, self.view.bounds.size.height /2, 100, 100)];
[myTextView setText:@"string"];
[objectArray addObject:myTextView];
[self.view addSubview:myTextView];
}
或者只是:
[objectArray objectAtIndex:2].text = @"Foobar";
[objectArray objectAtIndex:2].text = @"Foobar";