A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

10黑马币
  • 假设已经定义了一个Person类,然后定义两个person对象
  • Person *p1 = [[Person alloc] initWithAge:10];
  • Person *p2 = [[Person alloc] initWithAge:10];
  • 然后定义一个NSArray:
  • NSArray *array = [NSArray arrayWithObjects:p1, p2, nil];
  • 我的问题是:如果定义一个for循环如何一下面这中形式输出成员变量age
  • for (int i=0; i<2; i++) {
  •     NSLog(@"%d", array.age); //这句语法是错的,我的疑问就在这
  • }

最佳答案

查看完整内容

数组的每一次遍历,先取出当前下标的对象,根据当前取出的对象打印它的属性age.正确的写法:NSLog(@"%d",[array age]);。还有,尽量不要用关键字(new)做变量。

5 个回复

正序浏览
array 是NSArray类的实例,是没有age这个属性的,应该使用遍历,在遍历每个元素时,打印元素的age.
for (Person *p in array)
{
    NSLog(@"%i",p.age);
}
回复 使用道具 举报
右手年华 来自手机 中级黑马 2015-4-4 00:20:10
板凳
每一次遍历,先取出当前下标的对象,根据当前取出的对象打印它的属性age.正确的写法:NSLog(@"%d",[array age]);。还有,尽量不要用关键字(new)做变量
回复 使用道具 举报
怎么获取技术分呢
回复 使用道具 举报
for(id new in array){
    NSLog(@"%d ", [new age]);
}
我找到答案了
回复 使用道具 举报
爱吃鱼的猫 发表于 2015-3-31 13:01
for(id new in array){
    NSLog(@"%d ", [new age]);
}

数组的每一次遍历,先取出当前下标的对象,根据当前取出的对象打印它的属性age.正确的写法:NSLog(@"%d",[array age]);。还有,尽量不要用关键字(new)做变量。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马