В iOS мы столкнулись с проблемой с BOOL против bool.BOOL vs. bool на iOS7
Я знаю, что это бит-поле, а другое - целое число.
Однако следующий код ведет себя по-разному на iOS7 и iOS8:
self.nativationItem.rightBarButton = _editButton; //where editButton is a UIBarButtonItem.
_editButton.enabled = _some_NSArray.count;
поскольку графа определяется как NSUInteger
, мы ожидаем, что это будет 0 (ложь) или для любого другого значения, которое> 0.
Однако, на iOS7, когда _some_NSArray.count> 0, editButton отключен, но на iOS8 включен editButton! Точно такой же код.
Другое дело, что если бы мы бросили _some_NSArray.count к «BOOL» (не с заглавной буквы), он работает на обоих, но если мы бросим его (BOOL) он работает на 8, но не 7.
Любые идеи?