Objective C Void Issue - 将'void'发送到不兼容类型'id _Nonnull'的参数

时间:2016-03-06 19:19:53

标签: objective-c

我收到以下错误:

  

向不兼容类型'id _Nonnull'

的参数发送'void'

以下一行:

[comment setObject:[self helloDelegate] forKey:kESActivityToUserKey];

基本上我正在使用委托,我想要获取的数据是Parse Class列中的ObjectID,其中打印到日志很好。所以我知道委托正在工作,问题是我需要这个值保存到Parse Class Column toUser,其中Xcode警告我上面的错误阻止我运行项目。

以下是我打电话的方法:

-(void)helloDelegate {
    [delegate sayHello:self];
}

接下来是调用上述方法的方法:

-(void)sayHello:(CaptureManager *)customClass {
    [self.photo objectId];
    // NSLog(@"Object id %@",[self.photo objectId]);
}

我对Objective C相当新,所以请理解我的措辞是否正确。我只需要知道如何摆脱错误,这样我就可以继续了。

谢谢

1 个答案:

答案 0 :(得分:2)

helloDelegate调用委托方法,但不返回任何内容(又名void)。

setObject:ForKey:方法需要object参数的对象。

你需要这样的语法

- (NSString *)helloDelegate {
   return [delegate sayHello:self];
}

- (NSString *)sayHello:(CaptureManager *)customClass {

   return [self.photo objectId];
  //NSLog(@"Object id %@",[self.photo objectId]);
}