在看第三方代码时,有新发现如下
有三种情况:
1. ?和:两个符号的后面都有代码,不赘述
2. ?符号后没有写代码和:符号后面有写
经过代码运行验证了一下的结果:
UIImage *img1 = [UIImage imageNamed:@"Add_card"];
UIImage *img2 = img1? : [UserModel new];
UIImage *img3 = (img1==nil)? : [NSArray new];// 语法错误,
int a = 5;
int b = (a==5)? : 3;
结论:
1. 三目运算符必须要是冒号“:”前后必须是同一种类型数据
2. img2的值为:判断的“东西” img1为真时,值为判断条件img1;
3. 如上代码b的值为判断条件,这个时候是的值是(a==5)为真,值是1,不是5。需要注意!!!!!.
3. ?符号后写了代码:符号后面没写:语法错误
4. 后面都没写:语法错误。