Это может быть глупый вопрос, но в моем приложении будет необходимо передать переменную bool методу.Как передать переменную BOOL в качестве параметра в Objective-C?
Предположим, что у меня есть 10 BOOL
переменные, объявленные как b1,b2.....b10
.
Я могу отправить BOOL
значение в качестве параметра, просто с помощью следующего кода:
[self sendBoolValue:YES];
-(void)sendBoolValue:(BOOL) value{
b1=value;
//now b1 will be YES
}
Теперь то, что мне нужно, это то, что делает это:
[self sendBoolVariable:b1]; //I tried sending &b1, but it didnt work out
-(void)sendBoolVariable:(BOOL) value{
value=YES; //trying to set b1 to YES
//b1 is still NO
}
Я не смог получить, чтобы отправить BOOL
переменная. Возможно ли это?
Почему я это делаю ?:
У меня есть UIView, который имеет 9 подвидов (я называю их как плитка) в компоновке 3x3 сетки.
У меня есть два значения BOOL
startTile
и endTile
. Мне нужно установить эти значения на основе касания !!!
Я использую touches-Began/Moved/Ended
обнаружить штрихи этих взглядов
Когда прикасается начал, мне нужно вычислить, если прикосновение в tile1 или tile2 .....
Так фактический код:
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
// calculate touch point and based on it set the bool value
[self sendBoolVariable:startTile];
//startTile is selected, so change its color
// lock other tiles
}
-(void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event{
//if touches came to tile 2 region
[self sendBoolVariable:b2]; //b2 is BOOL variable for tile2
}
- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event
{
[self sendBoolVariable:endTile];
//end tile is selcted too
//at this point both start tile and tile are selected
//now do the animation for the start tile and end tile
//other tiles are still in locked state
}
Как вы можете видеть, мне нужно вызвать тот же метод, но вам нужно отправить три разных переменных bool !!!!
Почему вы пытаетесь использовать s-метод, чтобы просто установить BOOL-переменную в YES или NO? – rmaddy
есть случай, когда я часто изменяю значения bool от b1 до b10. Поэтому я написал метод, который выполняет некоторые изменения на основе значений b1 ... b10. Он содержит статут переключения, который имеет 10 случаев. Каждый случай, выполняющий работу, касается касания CGPOINT !!!! Мне нужно вызвать тот же метод в разных точках с разными переменными !!! –
поэтому вместо того, чтобы иметь несколько методов, я помещаю один метод, и я хочу передать переменные этому методу. –