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

© J丶k 中级黑马   /  2015-10-5 20:52  /  1037 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

  1. @implementation Person

  2. - (void)setAge:(int)age
  3. {
  4.     //_age = age;
  5.    
  6.     NSLog(@"setAge:");
  7.    
  8.     // 会引发死循环
  9.     self.age = age; // [self setAge:age];
  10. }
  11. @end
复制代码
在实现age的setter方法时,self.age = age这句代码就相当于[self setAge:age],由于self指的是Person对象,所以会一直循环执行age的setter方法,从而造成代码的死循环。
您需要登录后才可以回帖 登录 | 加入黑马