2011-03-11 14 views
0

我試圖做一個程序,將有一個NSTableView,我可以添加和刪除值,併爲每個值將存儲將被顯示在文本框中的幾個不同的變量顯示不同的值,每行當用戶從表中選擇一個項目時。我已經寫的代碼添加和刪除值,但似乎無法找到一種方式來獲得的功能,其餘的工作。我怎樣才能做到這一點?在NSTableView的

回答

1

我建議您在表示各元素在你的tableview數據源(你的對象的數組)放入NSDictionary。這使您能夠保留幾個變量對每個項目的tableview,它可以被點擊的項目時,顯示在文本框中。蘋果有一個非常好的例子,說明了我認爲你正在嘗試做什麼。看看NSTableViewBinding example。在該示例中,當用戶雙擊一個項目在一個tableview中檢查方法被調用。您可以使用此方法在文本框來顯示從字典中的變量:

- (void)inspect:(NSArray *)selectedObjects 

{

// this is an example of inspecting each selected object in the selection 
int index; 
int numItems = [selectedObjects count]; 
for (index = 0; index < numItems; index++) 
{ 
    NSDictionary *objectDict = [selectedObjects objectAtIndex:index]; 
    if (objectDict != nil) 
    { 
     NSLog(@"inspect item: {%@ %@, %@}", 
       [objectDict valueForKey:@"firstname"], 
       [objectDict valueForKey:@"lastname"], 
       [objectDict valueForKey:@"phone"]); 
        [myTextBox1 setStringValue:[objectDict valueForKey:@"firstname"]]; 
        [myTextBox2 setStringValue:[objectDict valueForKey:@"lastname"]]; 
    } 
} 

}