我正在创建一个处理类别和产品的应用。类别具有可以具有其他子类别或产品的子类别。主要类别有自己的滑出控制器。主类别的所有子类别都显示在它们自己的控制器中。
对于所选的每个类别(由 UITableView 中的 UITableViewCell 表示),将调用Web服务,该服务返回带有子类别列表的json。或产品。要跟踪这些项的下载进度,请使用以下方法声明协议:
@protocol ItemsRetrievalDelegate <NSObject>
@optional
- (void)retrievingItems;
- (void)didRetrieveItems:(NSDictionary *)items;
- (void)failedToRetrieveItemsWithError:(NSError *)error;
@end
每个呈现子类别或产品的视图控制器都实现此协议。
对于每组子类别,我需要显示以父类别的名称命名的标题。为此,我已经声明了一个名为parentCategory
的属性。现在,对于每个类别的选择,我可以为下一个视图控制器标题设置此属性。
但从设计的角度来看,这个解决方案是理想的解决方案吗?将协议的retrievingItems
方法重构为:
- (void)retrievingItemsForCategory:(Category *)aCategory;
并在检索子类别或产品期间设置视图控制器的父类别标题?请记住,子类别不是&#34;意识到&#34;它的父母。
您认为哪两个解决方案最好/更清洁?
感谢。