1
7
为了我自己的使用,我创建了某种MVC结构。我有一个数据管理器(singleton),它在数组或字典中保存所有必需的数据(主要用模型表示;普通nsobjects)。 视图(NIB文件和视图控制器)与数据管理器对话,通过get函数获取数据。如果数据已经存在于数据管理器中,则返回数据(通过通知)。如果不是,它会将呼叫转发给控制器,然后控制器会收到呼叫。 在这个控制器中,我用离线/在线模式(对您来说可能不重要)将呼叫分开,其中,如果在线,呼叫是一个XML请求,如果离线,呼叫是到一个sqlite数据库。 然后,控制器可以在数据管理器上设置数据,并向视图发送通知。 然后循环再次开始,视图可以通过数据管理器访问数据。 所有这些都发生在异步调用中,因此通知(如果我让数据管理器或控制器干扰视图,它将不会是线程安全的)。 我的AppDelegate只对主视图、控制器和数据管理器进行第一次初始化,然后由它们接管。 将模型(数据)放在一个中心位置是很好的,这样您就可以轻松地在每个类中访问它,而不必创建太多的类依赖关系。 我还将大多数类型的功能划分为不同的类,如数据的数据管理器、用于异步URL请求的下载管理器、XML解析器、从nsdictionary构建模型的工厂、数据库连接器等。 |
WkWk · Apple Watch动作通知不起作用 2 年前 |
Otavio Miguel · 在手机中保留我自己未发布的ios应用 2 年前 |
Nico Passaglia · 移动键盘向上移动站点 6 年前 |