2017-11-13 16 views
0

객체 나 후속하는 샘플 코드가 있습니다포인터는

NSNumber * number1 = @231; 
NSNumber * number2 = @322; 
NSLog(@"number1: %@", number1); 
NSLog(@"number2: %@", number2); 
NSMutableDictionary* dict = [NSMutableDictionary new]; 
[dict setObject:number1 forKey:@"number"]; 
NSNumber * outNumber = [dict objectForKey:@"number"]; 
NSLog(@"outNumber: %@",outNumber); 
[dict setObject:number2 forKey:@"number"]; 
NSLog(@"outNumber: %@",outNumber); 

능가 객체가 여전히 이전 값 (231)을 가리키는 사전에 "숫자"키의 값을 업데이트 한 후입니다.

Objective-C에는 outNumber 개체가 항상 사전의 "number"키 아래의 현재 값을 가리키는 방식이 있습니까?

+1

여기를 클릭하십시오. https://stackoverflow.com/questions/2708168/object-pointer-value-as-key-into-dictionary – Alp

+0

마지막 줄에 숫자 2 앞에 설정된 outNumber를 인쇄했습니다. 그래서 항상 숫자 1 출력 –

+0

이렇게 마지막 줄을 출력하십시오. NSLog (@ "outNumber : % @", [dict objectForKey : @ "number"]); ' –

답변

0

업데이트 된 인쇄되지 않은 사전 그래서, 코드의 최종 2 선 아래 추가

NSNumber * outNumber2 = [dict objectForKey:@"number"]; 
NSLog(@"outNumber: %@",outNumber2); 

희망 것이다 도움을 당신에게!