Nếu tôi sinh ra một chủ đề mới, và sau đó bên trong nó tôi đẩy một bộ điều khiển mới lên UINavigationController của tôi, sử dụng mã như thế này ...NSThread và UIViewController tương tác
(a) không làm việc
-(void)myCallbackInThread
{
// move on...
UIApplication* app = [UIApplication sharedApplication];
[app changeView];
}
sau đó tôi thấy rằng khung nhìn xuất hiện, nhưng không phản hồi lại đầu vào của người dùng.
Nếu tôi thay đổi mã như thế này
(b) làm việc
-(void)myCallbackInThread
{
// move on...
UIApplication* app = [UIApplication sharedApplication];
[app performSelectorOnMainThread:@selector(moveToMain) withObject:nil waitUntilDone:FALSE];
}
Sau đó, mọi thứ hoạt động tốt.
Bất kỳ gợi ý nào về lý do tại sao?
Bạn có nhận được kết quả đầu ra nào trong cửa sổ bảng điều khiển không? Tôi đã tìm thấy với luồng trên iPhone nếu bạn đang làm điều gì đó hài hước mà nó xuất ra thông điệp tường trình. – Lounges