我正在看AFNetworking的源代码(我是Objective-C和AFNetworking的新手),并试图理解一些继承的代码。看起来它们是什么都不返回的块,传入一个AFHTTPRequestOperation和响应或NSError。这是块定义吗?最后的成功/失败意味着什么?我认为这有点像成功:MyParam(NSString *)my_param。就像一句话就够了。
- (void)getPath:(NSString *)path
parameters:(NSDictionary *)parameters
success:(void (^)(AFHTTPRequestOperation *operation, id responseObject))success
failure:(void (^)(AFHTTPRequestOperation *operation, NSError *error))failure
{
任何帮助都是非常感谢的。提前进行Thx
发布于 2013-01-05 03:37:20
success
和failure
参数是块,这是苹果对C编程语言的扩展。块非常类似于匿名函数指针。
在这个场景中,它扮演了一个插件回调函数的角色。如果成功获取路径,则调用success
回调,或者调用failure
回调。
签名分别指定了这些回调块应该接受的参数。这些参数的实际值将由此AFNetworking调用提供。
发布于 2013-01-05 03:41:53
是的,这些都是积木。您首先看到的是开头的success
/failure
,它是方法名称的一部分,并且是在将参数传递给方法时放在该参数之前的内容。void
指示块不返回值。^
尖叫着“我是一个街区!”看着你。该块有两个参数:一个在块内称为operation
的AFHTTPRequestOperation *
和一个在块内称为responseObject
的id
。末尾的success
/failure
是整个块参数的名称,用于在接收它的方法中引用它。
https://stackoverflow.com/questions/14163649
复制相似问题