나는 C로 쓴 프로그램을 변환하려고하여 Objective C를 배우려고합니다.이 프로그램은 큰 2 차원 배열과 함께 작동하므로 계산이 필요합니다. UI에 테이블 형식으로 2D 배열을 표시 할 수 있어야합니다. 내가 할 수있는 최선의 방법은 C- 스타일 배열을 NSMutableArrays 행으로 변환 한 다음 NSTableView에 전달할 "행 스택"으로 다른 NSMutableArray에 "행"NSMutableArrays를 저장하는 것입니다. (더 좋은 방법이 있다면 알려주세요.)NSTableView에 2D 배열 표시
문제는 arrayOfArrays에 저장할 수 없다는 것입니다. 그냥 null입니다. 나는 어리석은 멍청한 놈 오류를 만들고 있다고 확신하고 나는 그것이 생성자를 호출하는 방식과 관련이 있다고 생각하지만, 나는 그것을 이해할 수 없다.
여기 내 코드입니다 :
int grid[3][3] = {{1,2,3},{4,5,6},{7,8,9}};
NSMutableArray *arrayOfArrays;
int x=0;
-(void)awakeFromNib
{
NSMutableArray *array1 = [[NSMutableArray alloc]init];
NSMutableArray *array2 = [[NSMutableArray alloc]init];
NSMutableArray *array3 = [[NSMutableArray alloc]init];
for (int y=0; y < 3; y++) {
[array1 addObject:[NSNumber numberWithInt:grid[x][y]]];
}
x++;
for (int y=0; y < 3; y++) {
[array2 addObject:[NSNumber numberWithInt:grid[x][y]]];
}
x++;
for (int y=0; y < 3; y++) {
[array3 addObject:[NSNumber numberWithInt:grid[x][y]]];
}
[arrayOfArrays addObject:array1];
[arrayOfArrays addObject:array2];
[arrayOfArrays addObject:array3];
}
- (NSInteger)numberOfRowsInTableView:(NSTableView *)aTableView
{
return [arrayOfArrays count];
}
- (id)tableView:(NSTableView *)aTableView objectValueForTableColumn:(NSTableColumn *)aTableColumn row:(NSInteger)rowIndex
{
return [arrayOfArrays objectAtIndex:rowIndex];
}
@end
아, 그리고이 객체는 NSTableViewSource이며이 NSTableView는 대한은 dataSource입니다.
감사합니다 !! 이 질문은 내 원래 질문에 대한 답변입니다. –