我试图弄清楚如何设计一个我在我的应用程序中实现的搜索栏,并且需要关于良好编码实践的指导。我有一个搜索栏,在编辑搜索栏时,会出现一个弹出控制器,显示历史结果。我的搜索栏与位于此处的 Apple 示例的搜索栏非常接近:http: //developer.apple.com/library/ios/samplecode/ToolbarSearch/Introduction/Intro.html#//apple_ref/doc/uid/DTS40009461
目标:我想要一个模块化的、自包含的实现,如果有人想重用我的代码,他们可以复制类并使用搜索栏。(当然还有其他明显的东西,可读、干净、高效等)
Apple 在他们的示例中这样做的方式是有两个不同的类。第一个是搜索栏本身的控制器,它管理一个弹出视图。他们有第二个类,它是管理最近结果的 UITableViewController 的子类。然后第一个类在 popover 控制器中利用第二个类。
我对这种方法的问题是这两个类是耦合的,对我来说为什么它们需要两个不同的类没有意义。那么构建这个的最佳方法是什么:重构为单个类,创建一个辅助类,保持原样等。任何指导都值得赞赏。