我有一个简单的问题。我正在用Xcode 5构建一个应用程序。应用程序的一部分是典型的登录屏幕和注册屏幕,以及一个存储用户名和密码的数据库。我的问题是,我不想在两个屏幕上(在两个视图的控制器中)编写Sqlite代码。我想让"databaseViewController.h和.m“同时控制登录控制器和注册控制器。我的问题是:我该怎么做?我不要求代码,但简短的类似例子将是非常有用的!我正在使用故事板,如果这也有帮助的话。
发布于 2014-12-01 11:51:39
我想让"databaseViewController.h和.m“同时控制登录控制器和寄存器控制器
一种常见的方法是将数据访问的内容从视图控制器中移出,进入两个视图控制器都可以与之交谈的数据模型(即MVC中的M)。您的模型将拥有登录、注册、告诉用户是否已经注册等方法,这使得您的视图控制器可以做他们最擅长的事情:管理各自的视图图并处理用户输入。也许您已经有了某种数据模型,在这种情况下,用户注册和登录功能就可以添加到其中了。否则,当应用程序启动时,让您的应用程序委托设置模型,并与需要了解它的视图控制器共享它。
发布于 2014-12-01 11:51:57
间接地回答您的问题:如果您的目标只是在这两个屏幕之间共享代码,您可能会发现将该代码提取到一个单独的类中更容易,比如AuthenticationManager
或其他类,然后从您的两个不同的视图控制器中使用这些代码。
共享服务对象的一个常见模式是将它们挂在应用程序委托之外。也就是说,将属性(例如authManager
)添加到AppDelegate
中,然后在视图控制器中以[UIApplication sharedApplication].delegate.authManager
的形式访问它。
https://stackoverflow.com/questions/27235942
复制