iphone - 如何在 iOS - iPhone 上为同一类的不同实例命名

标签 iphone ios loops instance names

我正在开发一个 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/

相关文章:

ios - 我可以在多少台 Mac 上使用我的 Apple Developer Profile?

iphone - 给 MKMapView 添加阴影

ios - 如何在 switch case(swift)中创建循环?

php - 需要帮助删除 mysql 结果中的重复列

iphone - 如何将 exif 元数据写入图像(不是相机胶卷,只是 UIImage 或 JPEG)

iphone - NSFetchRequest版本导致应用程序崩溃

ios - XCode 7.3 和 Swift 2.0 十进制键盘,带点 (".") 而不是逗号 (",")

html - 如何在文档目录 iOS 中保存 html 文件?

ios - 实例化 Nib 并访问其 subview

xml - 使用 Powershell 从多个 XML 文件中的元素获取数据以输出到另一个单个 XML 文件