目标 C 无效问题 - 将'void'发送到不兼容类型 'id _Nonnull' 的参数



我收到以下错误:

将"void"发送到不兼容类型"id _Nonnull"的参数

对于以下行:

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

基本上我正在使用委托,我尝试获取的数据是解析类列中的 ObjectID,其中打印到日志精细。所以我知道委托正在工作,问题是我需要将此值保存到 Parse 类列 toUser,其中 Xcode 警告我上述错误阻止我运行项目。

以下是我调用的方法:

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

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

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

我对目标C相当陌生,所以如果我的措辞不正确,请理解。我只需要知道如何摆脱错误,以便继续。

谢谢

>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]);
}

最新更新