Bri*_*tow 5 properties objective-c getter-setter
所以,我有一个带有一堆属性的类(IKImageView).
我知道视图setProp:BOOL返回void.然而:
BOOL b = view.prop = NO;
Run Code Online (Sandbox Code Playgroud)
似乎工作.如果我有一个返回布尔值的函数f(),有人知道这是否真的在做:
[view setProp:f()];
Bool b = [view getProp];
Run Code Online (Sandbox Code Playgroud)
要么
[view setProp: f()];
Bool b = f();
Run Code Online (Sandbox Code Playgroud)
要么
BOOL TMP = f();
[view setProp: TMP];
BOOL b = TMP;
Run Code Online (Sandbox Code Playgroud)
我问,因为我这样做:
BOOL b = view.hasHorizontalScroller = YES;
NSLog(@"b is %d scroll is %d", b, [view getHasHorizontalScroller]);
Run Code Online (Sandbox Code Playgroud)
我得到"b是1,滚动是0"(这意味着setHasHorizontalScroller由于某种原因失败,但b设置正确)
但:
BOOL b;
[view setHasHorizontalScroller: YES];
b = [view getHasHorizontalScroller];
NSLog(@"b is %d scroll is %d", b, [view getHasHorizontalScroller]);
Run Code Online (Sandbox Code Playgroud)
我得到"b是0滚动是0"
这对我来说非常困惑.(另外,如果有人可以告诉我如何设置属性为YES失败,但是它成功设置了b ...但是没有错误出现......
小智 5
它正在做
BOOL TMP = f();
[view setProp: TMP];
BOOL b = TMP;
Run Code Online (Sandbox Code Playgroud)
在物业发货之前已经讨论过这个问题.有些人认为这应该是一个编译错误,以避免歧义.
最好完全避免施工.
| 归档时间: |
|
| 查看次数: |
594 次 |
| 最近记录: |