如何使用相同的代码创建多个对象,但每个对象都有一个唯一的名称?
如果我在目标 C 中创建一个对象,例如:
MyClass *myObject = [[MyClass alloc] init];
我有一个名为 myObject 的对象,我可以引用它来执行以下操作:
[myObject setBackgroundColor:[UIColor blueColor]];
但是如果我想用相同的分配代码创建多个对象呢?例如,如果我在操作中使用此代码,那么每次点击按钮时都会创建一个新对象。然后我会有多个名为 myObject 的对象。因此,当我使用代码设置背景颜色时,它会将 myObject 的所有背景颜色变为蓝色。
如果创建的每个对象都有一个唯一的名称,这不会是一个问题,但是如何给使用相同代码创建的每个对象一个唯一的名称?
一种方法是在创建后重命名对象并附加一个数字增量,但是如何重命名对象?或者,也许我可以首先为每个创建的对象设置一个唯一的名称,但是如何为每个新对象的名称插入一个唯一的“字符串”?
谢谢阅读!
更新!!
我创建了一个“带有标签方法的初始化”,但每次创建新对象时,先前创建的对象也会收到新标签,因此每个对象都有相同的标签,而不是唯一的标签。有什么帮助吗?
初始化方法:
- (id) initWithTag:(int) theTag
{
self = [self init];
if (self)
{
self.tag = theTag;
}
return self;
}
对象创建代码:
MyClass *myObject = [[MyClass alloc] initWithTag:tagCount];
tagCount ++;