現在,我一直在閱讀關於NSArrayController的一切。
我有正確設置我的廈門國際銀行,NSArrayController的,NSTableView的和綁定 - 除了我NSTableView的一個奇怪的行爲一切的工作。NSTableView:以編程方式添加一行導致選擇具有相同值的許多行?
首先是一些代碼,以圖片的情景:
@implementation MyAppDelegate
@synthesize arrayController, dataArray;
- (void)applicationDidFinishLaunching:(NSNotification *)aNotification {
self.dataArray = [NSMutableArray array];
}
- (IBAction)myControllerAddAction:(id)sender {
NSString *val = [[NSDate date] description];
NSMutableDictionary *item = [NSMutableDictionary dictionaryWithObjectsAndKeys:val, @"date", nil];
[serversController addObject:item];
}
- (IBAction)myArrayAddAction:(id)sender {
NSString *val = [[NSDate date] description];
NSMutableDictionary *item = [NSMutableDictionary dictionaryWithObjectsAndKeys:val, @"date", nil];
[[self mutableArrayValueForKey:@"dataArray"] addObject:item];
}
@end
使用-mutableArrayValueForKey:@"myNSArrayControllerStore"
,並通過返回NSMutableArray
代理的-addObject:myDictionary
陣列控制器添加對象指示表視圖中繪製新的內容,但它會選擇所有的行與同值他們NSCell
小號:
利用陣列控制器的-addObject:myDictionary
它會得出新行,並選擇新添加的一個:
(每秒兩個屏幕上,我一直在不斷地點擊多次)
這是爲什麼?
使用[NSMutableArray -addObject:]
時,我是否需要自己處理正確的行選擇?
或者這是一個錯誤?
的Mac OS 10.7.3
的Xcode 4.3
基地SDK 10.7
部署目標10.6
我不明白這些截圖。在第一個屏幕截圖中,選擇全部:17行,與添加的第一項匹配。第二,只有一個具有給定值的項目。我在第一種情況下采用它,每次點擊都會擴展原始選擇,直到時間更改爲下一秒,而在第二種情況下,每次點擊後選擇會移動? – paulmelnikow 2012-03-19 01:36:16
@noa是的,這是正確的...任何線索? – glasz 2012-03-20 22:45:27