关于oc定义的一些问题
2015-03-07 13:17
274 查看
#import "Fraction.h" @implementation Fraction @synthesize numerator,denominator; -(void) print { NSLog(@"%i/%i",numerator,denominator); } @end #import "Fraction.h" int main(int argc, const char * argv[]) { @autoreleasepool { Fraction *a=[[Fraction alloc] init]; Fraction *b; [a print]; [b print]; NSLog(@"%i/%i",a.numerator,a.denominator); NSLog(@"%i/%i",[b numerator],[b denominator]); NSLog(@"%i",a); NSLog(@"%i",b); if (!a) { NSLog(@"123"); } if (!b) { NSLog(@"456"); } a.numerator=1; a.denominator=3; b.numerator=2; b.denominator=5; NSLog(@"%i/%i",a.numerator,a.denominator); NSLog(@"%i/%i",[b numerator],[b denominator]); } return 0; }
2015-04-26 10:05:05.981 Try[821:303] 0/0
2015-04-26 10:05:05.984 Try[821:303] 0/0
2015-04-26 10:05:05.985 Try[821:303] 0/0
2015-04-26 10:05:05.987 Try[821:303] 1087952
2015-04-26 10:05:05.987 Try[821:303] 0
2015-04-26 10:05:05.988 Try[821:303] 456
2015-04-26 10:05:05.989 Try[821:303] 1/3
2015-04-26 10:05:05.990 Try[821:303] 0/0
a正常初始化 实例变量为0/0 指针指向任意地址 b由于编译器初始化为nil 即空(nil == 0) 指针指向地址0x00000000
[a print]正常输出 [b print]由于对象为空 没有输出
a的两条NSLog语句分别输出实例变量和地址 b分别输出nil和0
后面b的判断也确实为0 对其设值也是一样为nil 因为没有正常初始化
最后简单类型由于编译器初始化都为0
相关文章推荐
- 关于udev,sys,proc,tmpfs一些定义的问题
- 关于PreferenceActivity的使用和一些问题的解决(自己定义Title和取值)
- c中关于指针的声明和定义的一些问题
- 关于指针定义的一些问题
- c中关于指针的声明和定义的一些问题
- qt的关于编译条件的一些定义问题
- OC中关于属性的一些基本定义
- c中关于指针的声明和定义的一些问题
- [导入]关于ASPNET在IIS一些问题的经验总结
- 请各位高手看一下.这是一个关于定义冲突的问题.我应该怎么解决.急,忘各位高手指点!
- 关于char数组和字符串的一些问题
- 关于项目开发中的一些问题(回答waitu)
- 关于tomcat服务器优化,常遇到的一些简单问题的解决方法 (z)
- 关于ASP.NET在IIS一些问题的经验总结(zz)
- 关于素质选修课交费的一些问题
- 【转贴】关于ASPNET在IIS一些问题的经验总结
- 关于Myeclipse的一些问题
- javascript里面的确一些关于Width,Height,Top,Left的问题
- 关于ASPNET在IIS一些问题的经验总结
- 关于ASP.NET在IIS一些问题的经验总结