我收到以下错误:
向不兼容类型'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相当新,所以请理解我的措辞是否正确。我只需要知道如何摆脱错误,这样我就可以继续了。
谢谢
答案 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]);
}