0

아래 코드를 사용하여 NSOperation에 여러 값을 전달합니다.NSOperation에 전달 된 NSDictionary가 호출 된 메서드 내에서 null입니다.

NSDictionary를 정의했지만 호출 된 메서드 내에서 액세스 할 수 없습니다 (항상 null을 반환합니다). 다음은

는 방법 여기

NSDictionary *params = [[NSDictionary alloc] initWithObjectsAndKeys: 
@"key1", @"value1", 
@"key2", @"value2", 
nil]; 

NSOperationQueue *queue = [NSOperationQueue new]; 
NSInvocationOperation *operation = [[NSInvocationOperation alloc] initWithTarget:self selector:@selector(method:) object:params]; 
[queue addOperation:operation]; 

방법은 방법가 호출이라고하지만 NSLog 인쇄 항상 null

- (void) method: (NSDictionary *) params { 
    NSLog(@"value1: %@", [[params objectForKey:@"key1"] stringValue]); 
} 

내 메소드 정의가에게 호출 내 코드입니다 때 실제로 측면에 내 사전 정의에 따라 값 1을 참조하십시오.

내가 누락 된 항목이 있습니까? initWithObjectsAndKeys이 경우, 표시 방법 이름으로 TNX

답변

2

, @"key1"은 값/개체이며 @"value1"가 핵심이다. 또한 NSString 개체에는 stringValue 메서드가 없습니다. 시도 :

NSLog(@"value1: %@", [params objectForKey:@"value1"]);