一楼说的对,我试了一下,给你分析得代码你参考一下。
- #import <Foundation/Foundation.h>
- @interface Penson : NSObject
- {
- int _age;
- }
- - (void)setAge:(int)age;
- - (int)age;
- @end
- @implementation Penson
- - (void)setAge:(int)age
- {
- NSLog (@"11");
- self.age=age;// 1
- NSLog(@"22");//执行会发现不会输出22,只会不断输出11,说明22这句代码永远不会执行,也就是说,在上句代码中他会调用当前方法,再输出11,到了第二句,再调用当前方法,再打印11。这就是死循环了
- }
- - (int)age
- {
- return self.age;// 2
- }
- @end
- int main()
- {
-
-
- Penson *p=[Penson new];
- [p setAge:10 ];
-
- return 0;
- }
复制代码 |