0
下面在asyncReloadAndMoveToEnd中,我們引用了作爲實例變量的對話。當已經檢索到實例變量時,是否必須使用objectWithID?
爲了訪問conversation.messages,我們是否需要通過一個單獨的託管上下文通過objectID檢索該對象。
- (void) reloadTable {
[self.tbl reloadData];
}
- (void) asyncReloadAndMoveToEnd {
// is this the right way since it's in a separate thread?
NSArray* messages = [conversation.message allObjects];
[self performSelectorOnMainThread:@selector(reloadTable) withObject:nil waitUntilDone:NO];
}
- (void) reload:(bool) inMoveToEnd {
NSInvocationOperation *operation = [[NSInvocationOperation alloc] initWithTarget:self
selector:@selector(asyncReloadAndMoveToEnd)
object:nil];
[queue addOperation:operation];
}
你的代碼看起來很不穩定。有錯字嗎?你是不是要說'@selector(reload)'而不是'@selector(reload:)'? 'reload:'異步調用'asyncReloadAndMoveToEnd'(當然),然後'asyncReloadAndMoveToEnd'調用'reload:',也是在主線程運行循環的下一次迭代中執行異步調用。它似乎會反彈。由於它看起來像一個聊天應用程序,也許這就是你的意圖。 – morningstar
糟糕,我稍微更新了它。 – tjg184