NSDictionary, переданный NSOperation, является нулем в вызванном методе
Я использую код ниже, чтобы передать несколько значений в NSOperation.
Я определил NSDictionary, но я не могу получить к нему доступ (он всегда возвращает ноль) в вызываемом методе.
Ниже мой код для вызова метода
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];
Вот мое определение метода
- (void) method: (NSDictionary *) params {
NSLog(@"value1: %@", [[params objectForKey:@"key1"] stringValue]);
}
Вызывается метод с именем method, но NSLog печатает всегда null, когда я на самом деле смотрю, чтобы увидеть значение1 согласно определению моего словаря.
Я что-то пропустил?
Tnx
1 ответ
Как имя метода initWithObjectsAndKeys
указывает, в вашем случае, @"key1"
это значение / объект и @"value1"
это ключ. Также нет stringValue
метод в NSString
объект. Так что постарайтесь:
NSLog(@"value1: %@", [params objectForKey:@"value1"]);