나는 2 차원 배열을디스플레이 2D 배열
NSInteger arr [3][3] = {{0, 0, 0},
{0, 0, 0},
{0, 0, 0}};
을하고 난 엑스 코드의 명령 줄에 표시하기 위해 노력하고있어. 나는 가지고있다 :
NSLog(@"%d", arr);
그러나 작동하지 않는다. 왜, 사용해야합니까?
나는 2 차원 배열을디스플레이 2D 배열
NSInteger arr [3][3] = {{0, 0, 0},
{0, 0, 0},
{0, 0, 0}};
을하고 난 엑스 코드의 명령 줄에 표시하기 위해 노력하고있어. 나는 가지고있다 :
NSLog(@"%d", arr);
그러나 작동하지 않는다. 왜, 사용해야합니까?
:
NSDictionary *dict= @{@0:@[@0,@0,@0],
@1:@[@0,@0,@0],
@2:@[@0,@0,@0]};
그리고 다음을 .. 내가 바로 여기에 무슨 일이 일어나고 있는지 자세하게 설명 하자 대신의를 만드는이
NSLog(@"%d",[[dict objectForKey:@1][0] intValue];)
처럼 인쇄 2 차원 배열을 만들려면 키 값 쌍이있는 NSDictionary를 만듭니다.
여기서 NSNumber
유형 키에 대해 NSArray
유형 값을 설정합니다. 그래서 여기에 3 개의 키가 있습니다. "@ 0, @ 1 & @ 2". 각각에 대해 NSArray
오브젝트를 값으로 지정합니다. 각각 @[@0,@0,@0]
입니다.
값을 인쇄 할 때 먼저 [dict objectForKey:@1]
을 사용하여 해당 키에서 정확한 NSArray를 가져옵니다. 배열의 0 번째 요소를 얻으려면 [dict objectForKey:@1][0]
을 사용합니다. NSArray
의 각 요소로
NSNumber
당신은 단순히 인쇄 대상 &의있는 intValue을 얻고있다.
완전한 배열 객체를 인쇄하려면 다음을 사용 :
NSLog(@"%@",[dict description]);
업데이트 : 사용을한다면
는이 작업을 수행 NSInteger을 :
NSInteger arr [3][3] = {{0, 3, 0},
{0, 0, 0},
{0, 0, 0}};
NSLog(@"{");
for(int i = 0;i<3;i++)
{
NSLog(@"{");
for(int j=0;j<3;j++)
{
NSLog(@"%d, ",arr[i][j]);
}
NSLog(@"},");
}
NSLog(@"}");
이
현재 단일 정수가 표시됩니다. 전체 개체를 표시해야합니다. 당신은이 같은 NSDictionary
사용할 수 있습니다
NSLog
이 방법을 모르는 원하는 방식으로 C 배열을 표시하십시오. 이렇게하려면 두 개의 중첩 된 루프이 필요합니다. 외부 루프는 첫 번째 차원 인덱스를 반복합니다. 내부 루프는 두 번째 차원 인덱스를 반복합니다. 당신은 아마 다음 (외부 루프에서) 내부 루프 후 NSLog
와 함께 당신은 또한 수
을 해당 문자열을 인쇄 할 수 있습니다 외부 루프에 NSMutableString
을 만들고 stringWithFormat:
를 사용하여 내부 루프의 각 반복으로 추가 할 외부 루프 외부에 메인 NSMutableString
을 만들고 내부 루프 이후에 각 문자열을 추가하십시오. 외부 루프 다음에 로그하십시오.
NSInteger idx1 = 3;
NSInteger idx2 = 3;
NSInteger arr [idx1][idx2] = {{0, 0, 0},
{0, 0, 0},
{0, 0, 0}};
NSMutableString *finalString = [NSMutableString new];
for (NSInteger i = 0; i < idx1; ++i) {
NSMutableString *temp = [NSMutableString new];
for (NSInteger j = 0; j < idx2; ++j) {
[temp appendString:[NSString stringWithFormat:@"[%ld]", arr[i][j] ]];
}
[temp appendString: @"\n"];
[finalString appendString:temp];
}
NSLog(@"%@", finalString);
* C/C++ *에서와 같이 간단합니다. 루프를 작성하여 표시하십시오. –