Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c 传递给NSOperation的NSDictionary在调用的方法中为null_Objective C_Nsoperation_Nsoperationqueue_Nsinvocationoperation - Fatal编程技术网

Objective c 传递给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

我使用下面的代码将多个值传递给NSOperation

我已经定义了一个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];
这是我的方法定义

- (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"]);