Я хочу установить текст uilabel для обратного вызова cfsocket, но он не работает. Ошибка: «Использование необъявленного идентификатора« метка »»
Но этот setText работает в других функциях, почему не в этой?
Функция обратного вызова:
static void receiveData(CFSocketRef s, CFSocketCallBackType type, CFDataRef address, const void *data, void *info)
{
UInt8 *buff;
NSLog(@"%ld",CFDataGetLength(data));
CFDataGetBytes(data, CFRangeMake(0, CFDataGetLength(data)), buff);
NSLog(@"%s",buff);
[label setText:@"toto"];
}
Функция, где работает setText:
- (IBAction)deconn:(id)sender
{
if (conn_ok && socket && sock_addr) {
CFSocketInvalidate(socket);
[label setText:@"disconnected"];
conn_ok = false;
[sock_addr release];
}
}
Хорошо, я сделал это в своей функции:
socketViewController *toto = (id)info;
[toto.label setText:@"received msg"];
Но это не работает, я получаю en EXEC_BAD_ACCESS, и у меня есть это в журнале:
sharedlibrary apply-load-rules all
warning: Unable to restore previously selected frame.
(gdb)
Я думаю, что это проблема доступа к памяти, я добавил toto = nil;
в конце функции, но ничего не изменилось.