1
我有一個NSTableView,它有一列可編輯字段。單元格編輯工作正常,我的委託例程獲取更新並可根據需要對其執行操作。問題是還有其他代碼根據定時器或異步(套接字)輸入更新表中的值。在編輯過程中發生更新事件時,更新將覆蓋用戶輸入。防止在編輯時更新NSTableView
我試圖使用委託方法來阻止與實例變量鎖更新:
- (BOOL)control:(NSControl *)control textShouldBeginEditing:(NSText *)fieldEditor;
{
tableEditInProgress = YES;
return YES;
}
- (BOOL)control:(NSControl *)control textShouldEndEditing:(NSText *)fieldEditor
{
tableEditInProgress = NO;
return YES;
}
- (void)controlTextDidBeginEditing:(NSNotification *)aNotification
{
tableEditInProgress = YES;
}
- (void)controlTextDidEndEditing:(NSNotification *)aNotification
{
tableEditInProgress = NO;
}
這似乎只在用戶實際類型在該領域新的文本更新發生之前的工作。只要用戶在字段中獲得編輯光標(雙擊字段內容),我希望更新被阻止。
我可能只是使用錯誤的委託方法。
TIA
喬
因此,而不是'如果(tableEditInProgress)回報;','做:如果([sensorTable currentEditor] =零!)\t回報;'呢? – Flyingdiver
似乎這樣做,謝謝! – Flyingdiver
是的,沒錯。這應該確實有效。 – Enchilada