Tôi đang cố gắng để có được một ví dụ sử dụng NSNotificationCenter
với addObserver
và postNotificationName
nhưng tôi không thể tìm ra lý do tại sao nó không hoạt động.NSNotification không được gửi khi postNotificationName: được gọi là
Tôi có 2 dòng mã để thêm người quan sát và gửi tin nhắn trong 2 lớp khác nhau
[[NSNotificationCenter defaultCenter]addObserver:self selector:@selector(newEventLoaded:) name:@"Event" object:nil];
và
[[NSNotificationCenter defaultCenter]postNotificationName:@"Event" object:self];
Nếu tôi đặt tên cho nil
nó hoạt động tốt bởi vì nó chỉ là một phát sóng, khi tôi thử và xác định tên thông báo mà các tin nhắn không bao giờ có được.
Đây chính xác là những gì tôi chưa từ chối làm việc, khiến tôi nghĩ rằng vấn đề ở nơi khác nhưng Trung tâm thông báo có vẻ khá tự hào về mã. Tôi không có một đầu mối nào khác để tìm kiếm những gì có thể gây ra vấn đề. Threading có thể? Liệu iPhone tự động đa luồng ở tất cả? Không phải là tôi biết. – Affian
Tuyên bố NSLog trong bộ chọn (trong trường hợp của tôi updateView) có hoạt động đúng không? Nếu phương thức của bạn không có tham số nào, hãy thử tên phương thức mà không có: do đó, [[NSNotificationCenter defaultCenter] addObserver: tự chọn: @selector (newEventLoaded) tên: @ "Event" object: nil]; ' –
Tất cả các thử nghiệm của tôi có được thực hiện với một NSLog trong phương thức được chọn và nó hoạt động khi tôi đặt tên của trình thông báo thành không. Tôi cũng đã thử nó cả hai có và không có tham số trong phương pháp – Affian