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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 一只小菜鸟 中级黑马   /  2014-4-26 10:13  /  1126 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

  1.         NSDictionary *dict2 = @{@"k1": @"v1", @"k2": @"v2" };
  2.         NSEnumerator *enumerator = [dict keyEnumerator];
  3.         id key = nil;
  4.         //这样是不会警告,
  5.         while (key = [enumerator nextObject]) {
  6.         //改成这样key = enumerator.nextObject 就会出现警告。赋值必须得圆括号
  7.         //得改成while((key = enumerator.nextObject));if等同
  8.         //我简单的测试了下,自己建了个类,用自己的get方法同样出现这个警告
  9.             
  10.         //另外,点语法不是get,和set方法么,enumerator.nextObject,[enumerator nextObject]返回值不同?
  11.         //求科普,[enumerator nextObject],这为什么没警告,
  12.             id value = [dict2 objectForKey:key];
  13.             NSLog(@"%@", value);
复制代码

评分

参与人数 1技术分 +1 收起 理由
jing迪 + 1

查看全部评分

2 个回复

正序浏览
gmadong@163.com 发表于 2014-4-26 16:02
xcode警告不是很明显吗 using the result of an assignment as a condition without parentheses  意思是: ...

。。。。。。。你没看清我问的是什么。。。
我问的是key = [enumerator nextObject],没警告,
key = enumerator.nextObject   有警告  这两者的区别
回复 使用道具 举报
xcode警告不是很明显吗 using the result of an assignment as a condition without parentheses  意思是:利用赋值的结果作为一个条件没有括号

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马