我在Objective C中重寫Swift中的一個類,但是當我將新的Swift類註冊爲觀察者時,它不響應發佈在另一個使用NSNotificationCenter的目標c類。Swift類沒有註冊使用NSNotificationCenter的目標C類發佈的通知
代碼如下:
A類:
[[NSNotificationCenter defaultCenter] postNotificationName:REFRESH_UI object:nil];
類B(目標c):
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(refreshUI) name:REFRESH_UI object:nil];
- (void)refreshUI {
[self.tableView reloadData];}
B類(SWIFT)
NSNotificationCenter.defaultCenter().addObserver(self, selector: "refreshUI", name:REFRESH_UI , object: nil)
func refreshUI() {
self.tableView.reloadData()
}
B類在使用objective-c編寫時工作正常。我的Swift代碼有什麼問題?
是否沒有宏定義通知名工作?我不知道這是不是在評估Swift中的正確類型。 – pbergson
我試過,並且已經不使用宏。在它是@「RefreshUI」之前,所以我在Swift方法的名稱中使用了「RefreshUI」。 – Jonathan
我剛發現一個與此無關的問題。所以我的代碼實際上可能是正確的。 – Jonathan