makeObjectsPerformSelector

makeObjectsPerformSelector

我有这两个数组:

NSArray *nameArray = [NSArray arrayWithObjects:@"Cow", @"Haystack", @"Cow Bell", @"Branding Iron", @"Herding Dog",
                              @"Camel", @"Tractor", @"Warehouse", @"Milking Pipeline", @"Robotic Milker", @"Amusement Park",
                              @"Nitrous Kit", @"Mooship", nil];
NSArray *itemArray = [NSArray arrayWithObjects:cell1, cell2, cell3, cell4, cell5, cell6, cell7, cell8, cell9, cell10, cell11, cell12, cell13, nil];


单元格都是CCLabelTTF对象,因此它们都具有字符串属性。我想为itemArray中的标签分配相应的nameArray字符串。我查找了documentation,我认为我需要使用的是- (void)makeObjectsPerformSelector:(SEL)aSelector,但我不确定要用作选择器的内容。

我正在使用for循环尝试执行此操作:

for (int i = 0; i <= itemArray.count; i++) {
    [itemArray makeObjectsPerformSelector:@selector()];
    i++;
}


我可以正确使用makeObjectsPerformSelector:吗?如果不是,那我需要使用什么?

最佳答案

您不会在循环中使用makeObjectsPerformSelect:。它为您完成循环。

但是由于您需要从名称数组中提取正确的标签,因此在这里实际上不是使用makeObjectsPerformSelector:的选项。

你要:

for (NSUInteger i = 0; i < itemArray.count; i++) {
    CCLabelTTF *cell = itemArray[i];
    NSString *label = nameArray[i];
    cell.someProperty = label;
}


还要注意在<语句中使用<=代替for

08-15 20:47