Ios 如何将大班分成小班?
我正在重构一个iOS应用程序,其中一个类非常庞大。它包含三个关键功能。检查更新、下载更新和处理更新 我的问题是,如何将这些文件拆分为单独的类(文件),然后将其包含在核心类文件(TableViewController)中,并从中运行必要的函数? 目前,所有的逻辑都在一个TableViewController类中,这并不理想 我想要一个类似的结构,因为我认为它最有意义:Ios 如何将大班分成小班?,ios,objective-c,ios7,Ios,Objective C,Ios7,我正在重构一个iOS应用程序,其中一个类非常庞大。它包含三个关键功能。检查更新、下载更新和处理更新 我的问题是,如何将这些文件拆分为单独的类(文件),然后将其包含在核心类文件(TableViewController)中,并从中运行必要的函数? 目前,所有的逻辑都在一个TableViewController类中,这并不理想 我想要一个类似的结构,因为我认为它最有意义: TableViewController //导入CheckForUpdates.h //导入下载更新 //导入ProcessUp
- TableViewController
- //导入CheckForUpdates.h
- //导入下载更新
- //导入ProcessUpdates.h
抱歉说得含糊不清。我试图抽象出三个关键流程的功能,以使代码更整洁、更易于管理。“CheckForUpdate”选项可能会在代码中的多个位置使用 在Obj-C中,有三种基本的分类方法:
NSDate
或NSURL
的方法。在这种情况下,您可以添加一种方法来检查更新,例如NSURL
或NSURLConnection
TableViewController+CheckForUpdates.h
。这实际上不会分割类,但会将方法分割成不同的文件MyUpdater
。这可以扩展NSObject
,但也可以扩展任何其他类。如果需要,甚至服务也可以有一个共同的祖先在这种情况下,我相信第三个选项是最好的,但不要让控制器看到3个不同的类。理想情况下,控制器应将更新视为一个类,包含3个方法-一个用于检查更新,一个用于下载更新,另一个用于处理更新。您可以再次将updater类的实现拆分为更多的类,但控制器应该看到一个简单的接口。是的,抱歉。当我提到单独的类时,我倾向于使用单独的实现。我不希望所有的方法都在一个位置,这会使调试变得非常乏味。在本例中,检查更新只意味着查询API并返回计数。因此,对于流程的这一方面来说,也许一个类别会更好,因为我需要能够在多个地方进行检查。然后,我可以根据需要在“DownloadUpdates”方面实现更新检查。谢谢,这让事情更清楚了。