委托回报价值

lol*_*lol 1 objective-c ios

我无法将值返回给委托.

@protocol DataDelegateImage
- (void)failImage;
- (NSData*)successImage;
@end

@property (nonatomic, strong) id <DataDelegateImage> delegateImage;
@property (nonatomic, strong) NSMutableData* d;
Run Code Online (Sandbox Code Playgroud)

我打电话给我的代表们:

[self.delegateImage failImage];
Run Code Online (Sandbox Code Playgroud)

但是现在我正在尝试调用成功委托返回数据内容,但我认为我出了点问题,因为代码不起作用.

[self.delegateImage successImage:self.d];
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

Pop*_*eye 5

你传递self.d给你的successImage并没有任何参数供你传递任何东西.如果你想能够传递一些东西,那么它应该是这样的

     - (void)successImage:(NSMutableData*)para1;
Run Code Online (Sandbox Code Playgroud)

要么

     - (void)successImage:(NSData*)para1;
Run Code Online (Sandbox Code Playgroud)

除非您想要返回某些内容以及在某些情况下使用的内容

     - (NSData*)successImage:(NSData*)para1;
Run Code Online (Sandbox Code Playgroud)

type括号- (NSData*)是返回类型应该是,这是类型object,你想从方法返回.然后你的方法名称,successImage然后你将有参数,:(NSData*)para1你也可以添加更多的参数

     - (NSData*)successImage:(NSData*)para1 withAString:(NSString*)para2;
Run Code Online (Sandbox Code Playgroud)

所述type的括号内:(NSData*)para1的参数是它需要的对象类型.

希望这可以帮助.