Objective c 传递给NSOperation的NSDictionary在调用的方法中为null
我使用下面的代码将多个值传递给NSOperation 我已经定义了一个NSDictionary,但是我无法在调用的方法中访问它(它总是返回null) 下面是我调用该方法的代码Objective c 传递给NSOperation的NSDictionary在调用的方法中为null,objective-c,nsoperation,nsoperationqueue,nsinvocationoperation,Objective C,Nsoperation,Nsoperationqueue,Nsinvocationoperation,我使用下面的代码将多个值传递给NSOperation 我已经定义了一个NSDictionary,但是我无法在调用的方法中访问它(它总是返回null) 下面是我调用该方法的代码 NSDictionary *params = [[NSDictionary alloc] initWithObjectsAndKeys: @"key1", @"value1", @"key2", @"value2", nil]; NSOperationQueue *queue = [NSOperationQueue ne
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的方法,但当我根据字典定义实际查看value1时,NSLog总是打印为null
我错过什么了吗
Tnx正如方法名
initWithObjectsAndKeys
所示,在您的例子中,@“key1”
是值/对象,@“value1”
是键。另外,NSString
对象中没有stringValue
方法。因此,请尝试:
NSLog(@"value1: %@", [params objectForKey:@"value1"]);