cfsocket의 콜백에 uilabel 텍스트를 설정하고 싶지만 작동하지 않습니다. 오류 : "선언되지 않은 식별자 'label'사용" 하지만이 setText는 다른 함수에서 작동합니다. 왜이 함수에 포함되지 않습니까?콜백 함수에 uilabel 설정
콜백 기능 :
- (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"];
하지만 '돈의 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"];
}
기능 T는 일을, 내가 en을 받고 EXEC_BAD_ACCESS, 나는 th 로그인입니다 :
sharedlibrary apply-load-rules all
warning: Unable to restore previously selected frame.
(gdb)
나는 그것이 메모리 액세스 문제가 생각 나는 기능 아무것도하지만, 변화의 끝에서 toto = nil;
를 추가 할 수 있습니다.
@ Xantra : 'self'는이 개체를 나타내는 키워드입니다. 식별자로 사용할 수 없습니다. – sashang