Так, у меня есть класс (IKImageView) с набором свойств.
Я знаю что представление setProp: BOOL возвращается пусто. Однако:
BOOL b = view.prop = NO;
кажется, работает. Если у меня была функция f (), который возвращает булевскую переменную, делает любой знает, делает ли это действительно:
[view setProp:f()];
Bool b = [view getProp];
или
[view setProp: f()];
Bool b = f();
или
BOOL TMP = f();
[view setProp: TMP];
BOOL b = TMP;
Я спрашиваю потому что, когда я делаю:
BOOL b = view.hasHorizontalScroller = YES;
NSLog(@"b is %d scroll is %d", b, [view getHasHorizontalScroller]);
Я добираюсь "b, 1, прокрутка 0" (Что означает, что setHasHorizontalScroller перестал работать по некоторым причинам, но b установлен правильно),
но:
BOOL b;
[view setHasHorizontalScroller: YES];
b = [view getHasHorizontalScroller];
NSLog(@"b is %d scroll is %d", b, [view getHasHorizontalScroller]);
Я добираюсь "b, 0 прокруток, 0"
Это очень сбивает с толку меня. (Кроме того, если кто-либо может сказать мне, как установка свойства к ДА сбои, но затем это преуспевает в установке b... и все же никаких ошибках, подходит...
Это делает
BOOL TMP = f();
[view setProp: TMP];
BOOL b = TMP;
, было обсуждение этого до отправки недвижимости. Некоторые народные подумали, что это должна быть ошибка компиляции, чтобы избежать двусмысленности.
Возможно, лучше всего избегать конструкции целиком.