我正在开发一个 iPhone 应用程序,它有很多不同的卡片,每一张都代表一辆汽车。因此,每张卡片都有一些实例变量和一张图像。我的 CarCard 类正在从 .plist 文件加载每辆汽车的数据。我想在一个循环中创建许多实例,以便为每个实例指定不同的名称。例如:
CarCard *car1 = [[CarCard alloc] initWithSomeINfo: info];
....... *car2 ..........................................;
....... *carN ..........................................;
其中 N 是汽车的数量。问题是每次都不知道N是多少。所以我必须在循环中创建实例,但我找不到如何为实例指定不同的名称。
最佳答案
CarCard
对象的 NSMutableArray
是一个更好的方法。在循环之外实例化它:
NSMutableArray *cardArray = [[NSMutableArray alloc] init];
然后在循环中添加对象:
[cardArray addObject:car];
现在您可以通过索引访问它们:
// Card 9, numbering starts at 0
myCar = [cardArray objectAtIndex:8];
编辑添加
如果您想通过卡片的名称而不是它们在数组中的位置来引用卡片,并且名称是唯一的,您可以使用字典并通过名称来引用卡片。在循环外实例化字典:
NSMutableDictionary *cardDictionary = [[NSMutableDictionary alloc] init];
然后在循环中添加对象:
[cardDictionary setObject:car forKey:cardName];
现在您可以通过他们的名字访问它们:
// Card with the key named "card9"
myCar = [cardDictionary objectForKey:@"card9"];
// Card with the key named "monkey"
myCar = [cardDictionary objectForKey:@"monkey"];
关于iphone - 如何在 iOS - iPhone 上为同一类的不同实例命名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5756693/