BOOL*
не является логическим значением. Это указатель на логическое значение. Просто используйте
- (void)composeBar:(BOOL)savePars
Вероятно, вы запутались, потому что все объекты Obj-C объявлены с *
, но это потому, что они на самом деле указатели. Однако BOOL
- это не объект, а просто char
, в котором содержится 0
или 1
. Точно так же, как вы используете int
для целого числа вместо int*
(или в более идиоматическом коде, NSInteger
), вы используете BOOL
вместо BOOL*
.