动态变量命名iOS

Pet*_*zes 3 for-loop objective-c naming-conventions dynamic-variables ios

可能重复:
根据int计数创建多个变量
Objective C等效于PHP的"变量变量"

我想在for循环中使用一些动态变量名,并且难以理解如何实际引用变量.

我有一系列UILabels冠军poll0- poll8.使用for循环,我将它们的text值设置为从数组中相应数字引用的另一个值.例如:

for (int i = 0; i < [pollData count]; i++) {
    label(i value).text = [NSString stringWithFormat:@"%@", [[pollData objectAtIndex:i] toString]]; //sorry for the java-esque method names, just create what I'm used to
}
Run Code Online (Sandbox Code Playgroud)

我该如何使用该i值?

And*_*sen 5

你无法完全按照自己的要求去做.最好的方法是将标签放在一个数组中并循环遍历数组:

NSArray *labels = [NSArray arrayWithObjects:poll0, poll1, poll2, ..., nil];
for (UILabel *label in labels) {
    label.text = [[pollData objectAtIndex:i] toString];
}
Run Code Online (Sandbox Code Playgroud)

您可能还想查看IBOutletCollections,因为它们允许您将标签分组到一个数组中,而无需编写上面的数组初始化代码.相反,您将它放在.h文件中,然后将标签插座挂钩到Interface Builder中的所有标签:

@property (nonatomic, retain) IBOutletCollection(UILabel) NSArray *labels;
Run Code Online (Sandbox Code Playgroud)