不同导航堆栈中的变量

时间:2011-08-25 22:45:04

标签: objective-c ios xcode nsdictionary

很抱歉,如果我的问题与标题不符,但我认为它确实如此: 我有一个带导航控制器的应用程序和3个视图。这是一个应用程序,您可以连接到服务器并与朋友交谈。 问题是,我的rootViewController,登录屏幕,调用第二个视图女巫是朋友列表。单击列表中的朋友可以转到第三个视图,聊天屏幕本身。 我想,当用户登录(rootview)时,存储变量中使用的用户名,所以我可以在第三个视图,聊天屏幕上使用它,所以当他发送消息时,它可以在其上有他的名字,从服务器检索信息时,我也可以使用他的名字作为参数。 那么,SQLite是保存消息和用户的最佳方式吗?我害怕核心数据= /

2 个答案:

答案 0 :(得分:0)

核心数据并不差。 This是我用于开始使用Core Data的指南。一旦你了解了一切是如何运作的,那真的不是那么糟糕。

如果你想可以使用SQLite,但它是很多代码。核心数据使用起来要简单得多。

答案 1 :(得分:0)

为了保持松散耦合,我会考虑在实例化每个userName子类时传递UIViewController。 (使单元测试更容易)

e.g。

 // LoginViewController -> user logs in
 FriendsViewController *friendsViewController = [[FriendsViewController alloc] initWithUserName:userName];
 [self.navigationController pushViewController:friendsViewController];
 [friendsViewController release]; friendsViewController = nil;

 // FriendsViewController -> user selects a friend
 ChatViewController *chatViewController = [[ChatViewController alloc] initWithUserName:userName];
 [self.navigationController pushViewController:chatViewController];
 [chatViewController release]; chatViewController = nil;

不要害怕核心数据,那里有很多优秀的书籍。