2016-12-20 18 views
0

我在我的應用程序中遇到了問題,其中顯示了NSTableView。此表視圖顯示了整個NSTableColumn的NSButtonCell爲DataCell的行的列表。在嘗試了很多方法找到延遲的根本原因之後,我放棄並創建了一個簡單的項目,只是讓NSTableView顯示包含「Hi」文本的行列表。我很驚訝地看到這個應用程序中也存在延遲。在NSTableView中取消選擇一行需要時間

使用案例嘗試:我用Cmd和鼠標單擊選擇了4行。然後,我從以前選擇的行列表中只選擇一行,而不使用命令。後面的行動需要2-4秒才能體現出來。 4秒在10.8.5 OSX和2秒在10.11.6 OSX

這裏複製的代碼,供大家參考 -

@implementation AppDelegate 

- (void)applicationDidFinishLaunching:(NSNotification *)aNotification 
{ 
    // Insert code here to initialize your application 
    [self.tableView setDelegate:self]; 
    [self.tableView setDataSource:self];  
    [self.tableView setAllowsMultipleSelection:YES]; 
    [self.tableView setAllowsEmptySelection:YES]; 
} 

#pragma mark - Table View - 

- (id)tableView:(NSTableView *)tableView objectValueForTableColumn:(NSTableColumn *)tableColumn row:(NSInteger)row { 
    return @"Hi"; 
} 

- (NSInteger)numberOfRowsInTableView:(NSTableView *)tableView { 
    return 10; 
} 

@end 

請幫我解決這個滯後或用其他的方式來做出這個動作提示即時。

+0

你嘗試沒有圖像? – Willeke

+0

@Willeke是的。我現在編輯了代碼。問題依然存在。 –

+0

您是否創建了新項目並將新的表格視圖拖到窗口中,或者是否從現有項目的副本中刪除了其他項目? – Willeke

回答

0

取消選擇行所需的時間等於在我們的系統首選項中配置的雙擊速度。

我已經提交了一個蘋果bug,並知道這一點。在我的系統中,雙擊間隔設置爲很長時間,因此在表格視圖中取消選擇也需要相當長的時間。

非常感謝蘋果,也想分享這個,因爲你不會浪費時間調試它。