所以在這裏引發不工作就是我的了:NSTableView的-setDataSource時FSEvents
- 一個NSTableView與一個NSMutableArray數據源
- FSEvents監測,裏面有包含了數據的文件夾表視圖(使用SCEvents進行Objective-C抽象優化)
- FSEvents觸發與UI中的重新加載按鈕相同的功能。該功能通過
setDataSource:
根據所述文件的內容使用新的數據源刷新表格視圖。
而這裏發生了什麼:
- 如果我進行了更改的文件時,FSEvent被觸發,並且刷新方法被調用。
- 表視圖應該接受的數組確實包含觸發FSEvent的更改。
setDataSource:
使用正確的數據源發送到NSTableView。- 更改不會出現在表格視圖中!
但後來:
- 如果我打的刷新按鈕,觸發完全相同的方法爲FSEvent,表視圖獲取新數據更新。
我也嘗試用NSNotification替換FSEvent(NSApplicationDidBecomeActiveNotification
),但發生同樣的事情。
任何人都知道爲什麼會發生這種情況?
編輯:爲了澄清,我的問題jist是這樣的:爲什麼我的NSTableView重新加載,因爲它應該在按下按鈕時觸發,而不是由FSEvent或NSNotification觸發時?
編輯:由於diciu,我已經發現事實上我的所有UI參考都指向0x0,但是當按鈕點擊觸發時,它的有效地址就是有效的。這些對象都在IB中聲明,因此在我的代碼中沒有實例化或分配給他們。所以現在我的問題是:我能做些什麼來阻止這些指針指向零?
這不是問題,但是我會把這個標記爲正確的,因爲它指向了正確的方向。 謝謝! – 2008-12-01 04:28:02