首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法让NSEnumerator显示数组中的下一项

无法让NSEnumerator显示数组中的下一项
EN

Stack Overflow用户
提问于 2011-09-28 03:19:25
回答 1查看 312关注 0票数 0

我是Objective-C的新手,我已经在网上研究了几周了。几乎每个站点上的每个示例都是相同的,并且并不完全清楚如何将其集成到我的Xcode4应用程序的代码中。

随处可见的示例是:

NSEnumerator* theEnum = [some_array objectEnumerator]; id obj; or id some_object = NULL; while(obj = [theEnum nextObject]) { //do something...

我想如果我能更好地理解id some_object = NULL;/ id;代表什么,我就可以自己搞清楚了。

在我的代码中,我有三个数组。我希望每次用户单击Next按钮时,都能在UILabel字段的每个数组中显示一个对象,直到所有对象都显示出来。

代码语言:javascript
复制
NSArray1 = 1,2,3

NSArray2 =约翰,吉尔,乔什NSArray3 =男孩,女孩,男孩

当下一个按钮被按下时,你会看到1,John和boy。下一次你会看到2,Jill和girl,最后是3,Josh和男孩。

下面是基本的例子,不是我的实际代码。

代码语言:javascript
复制
number = [[NSArray alloc] initWithObjects:@"1",@"2",@"3", nil];
name = [[NSArray alloc] initWithObjects:@"John",@"Jill",@"Josh", nil];
gender = [[NSArray alloc] initWithObjects:@"boy",@"girl",@"boy", nil];

NSEnumerator *enum = [number objectEnumerator];
id obj; (??What is this?? And how to connect to the statement below??)

while ((obj = [enumNumber nextObject])) {

self.numberItem.text = ??
self.nameItem.text = ??
self.genderItem.text = ??

谢谢

EN

回答 1

Stack Overflow用户

发布于 2011-09-29 07:01:42

id obj就是包含您正在查看的当前变量的变量。在这段代码中,因为您的NSArray都包含字符串,所以您可以使用NSString *obj

枚举器一次只能枚举一个集合。如果您想同时遍历这三个循环,请使用传统的for循环:

代码语言:javascript
复制
for(unsigned int i = 0; i < number.count; i++) {
    self.numberItem.text = [number objectAtIndex:i];
    self.nameItem.text = [name objectAtIndex:i];
    self.genderItem.text = [gender objectAtIndex:i];
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7574534

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档