Iphone 异步和回调理解和命名约定
我在我的应用程序中使用ASIHTTPRequest,专门用于异步请求。 有些方法是异步方法的组合。 例如,看看某个方法+(void)updateData,它将调用Iphone 异步和回调理解和命名约定,iphone,objective-c,asynchronous,Iphone,Objective C,Asynchronous,我在我的应用程序中使用ASIHTTPRequest,专门用于异步请求。 有些方法是异步方法的组合。 例如,看看某个方法+(void)updateData,它将调用 [x downloadData1]它是异步的 [y downloadData2]是异步的 由于异步/回调机制,我的方法updateData将被拆分(而不是同步上下文中只有一个方法),它将需要: -(void) updateData { ... // Some work x.callback = @selector
- [x downloadData1]它是异步的
- [y downloadData2]是异步的
-(void) updateData {
... // Some work
x.callback = @selector(updateData1);
[x downloadData1];
}
-(void) updateData1 {
... // Some work
y.callback = @selector(updateData2);
[x downloadData2];
}
...
- (void) updateDataN {
... // Some work
// Need to callback my own "delegate"
[self.target performSelector:callback ...];
}
因此,updateData也是异步的
这段代码不是来自我的项目,我只是试图描述一个简单的例子。但是可以有一些条件调用和复合的复合
在这里,代码变得很难阅读。很难遵循执行流程。
对于通知方法是异步的(Async后缀?)或回调,您建议什么样的良好实践或命名约定?我发现带有数字的后缀很难看,不适合非线性流
你有什么建议?你遇到了什么?
或者,您是否认为这是由于设计糟糕的代码造成的?将其重构为使用块-这会将响应放在请求旁边?您是否想过使用类似NSOperation的方法来创建更多模块化请求?如果您将所有请求都转储到一个类中,它可能会变得混乱,但如果您将每个请求分离到不同的类中,它会变得更可读。NSOperation提供了一个很好的排队系统,但创建自己的排队系统也不难。()