Я могу следовать большей части примера Apple WiTap, но я немного озадачен этим битом в методе отправки:
- (void) send:(const uint8_t)message
{
if (_outStream && [_outStream hasSpaceAvailable])
if([_outStream write:(const uint8_t *)&message maxLength:sizeof(const uint8_t)] == -1)
[self _showAlert:@"Failed sending data to peer"];
}
- (void) activateView:(TapView*)view
{
NSLog(@"ACTIVATE TAG: %d", [view tag]);
//[self send:[view tag] | 0x80];
[self send:[view tag]];
}
- (void) deactivateView:(TapView*)view
{
NSLog(@"DEACTIVATE TAG: %d", [view tag]);
//[self send:[view tag] & 0x7f];
[self send:[view tag]];
}
Обратите внимание, что я изменил аргумент send: только на тег представлений, которые пронумерованы от 1 до 9. Первоначально код имел побитовые настройки И и ИЛИ.
Почему?
Я получаю тот факт, что для метода send требуется uint8_t
, но есть ли для этого побитовая составляющая? Чтобы превратить NSInteger в unint8_t?
Код не работает с моими изменениями выше. Он будет хорошо регистрироваться, и визуально клиент будет работать правильно, но сообщения не отправляются / принимаются правильно от клиента к клиенту.
Может ли кто-нибудь объяснить маленькими словами, что делает побитовый материал? Или я прав?
Спасибо! Это мой первый вопрос к ТАК, поэтому, пожалуйста, будьте добры.
спасибо за ответ. Я все еще немного озадачен. Получите это?
В основном, почему?
Это просто отвратительный способ передачи идентификатора? Каждое из этих представлений имеет тег #, почему бы просто не передать его и не переключать состояние (вверх / вниз) из класса представления?
Это просто случай "это то, как это сделал тот, кто написал это", или я упускаю важную часть головоломки, потому что именно так я и должен структурировать свой код.
Я бы просто хотел передать тег # и затем этот тег сам решал, что делать в четко читаемой функции, такой как toggleUpOrDownState
или что-то в этом роде.
Этот битовый материал всегда заставляет меня чувствовать себя глупо, я полагаю, если это не необходимо и т. Д. Тогда я чувствую себя глупо, но все равно каким-то образом могу пробиться сквозь пальцы. :)