2010-08-03 5 views
0

NSTableView의 배열 (데이터 소스)에 액세스하려고합니다. 행에있는 문자열을 새 문자열로 바꿀 수 있습니다. 앱은 NSTextfield로 데이터 항목과 버튼을 추가하여 항목을 추가합니다. NSTableView에 표시됩니다. 내가 원하는 것은 NSTableView는 더블 클릭하고 지금까지 문자열을 새로운 문자열이 무엇을 대체 할 수있을 것입니다,하지만 난 지금까지NSTableView에서 테이블의 행을 편집 할 수 있도록 데이터 소스에 액세스하려면 어떻게해야합니까?

@implementation AppController 

-(id)init 
{ 
    [super init]; 
    [tableView setDataSource:self]; 
    [tableView setDelegate:self]; 
    array = [[NSMutableArray alloc ] init]; 
    //NSLog(@"this is my delegate %@",[tableView delegate]); 
    return self; 
} 

-(IBAction)addItem:(id)sender 

{ 
    inputString = [textField stringValue]; 
    [array addObject:inputString]; 
    [tableView reloadData]; 
    return; 
} 

- (int)numberOfRowsInTableView:(NSTableView *)aTableView 
{ 

    return [array count]; 
} 

- (id) tableView:(NSTableView *)aTableView 
objectValueForTableColumn:(NSTableColumn *)aTableColumn 
      row:(int)rowIndex 
{ 
    //NSLog(@"this is the object %@",[array objectAtIndex:rowIndex]); 
    return [array objectAtIndex:rowIndex]; 
} 

-(IBAction) replaceItem:(id)sender 
{ 
    NSString *newString = [[NSString alloc]init]; 
    NSLog(@"The selected row %d",[tableView selectedRow]); 
    newString = [textField stringValue]; 
    [array addObject:newString]; 
    [array replaceObjectAtIndex:[tableView selectedRow ] withObject: newString]; 
    NSLog(@"this is the new sting %@",newString); 
    [tableView reloadData]; 

} 


@end 

답변

관련 문제