0

好的,所以我有 aUITableView和 a UINavigationControllerUIBarButtonSystemItemAdd当按下添加按钮时,它会将用户带到带有一些字段的新视图。我希望能够获取用户在这些字段中输入的信息并将其显示在表格视图中。我希望用户能够根据需要添加任意数量的这些项目。

现在我想起来了,有点像联系人应用程序。用户填写一个联系人,然后当他们返回主列表时,新联系人就在那里。

做这个的最好方式是什么。我尝试NSUserDefaults了一堆arrays,但那真的很乱。谢谢。

4

3 回答 3

1

我能想到的几种处理方法。最简单和最好的方法是使用视图控制器的模型演示而不是推送到它,就像 iPhone 上的联系人应用程序一样。这样,您可以使用 tableview 视图控制器访问所需的所有数据,而不是尝试来回传递它。用户完成创建视图控制器后,模型视图将被关闭,您可以从 tableview 添加。开发者文档:http: //developer.apple.com/library/ios/ipad/#featuredarticles/ViewControllerPGforiPhoneOS/AboutViewControllers/AboutViewControllers.html%23//apple_ref/doc/uid/TP40007457-CH112-SW16

于 2011-06-14T03:15:13.010 回答
0

您是否正确使用了 NSUserDefaults ?像这样使用。

在一类中:

NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults]
[prefs setInteger:1 forKey:@"integerKey"];

在另一个班级:

 NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults];
 NSInteger myInt = [prefs integerForKey:@"integerKey"];

//Now myInt has the value 1.

你也可以有 NSNotification 并传递一个 NSDictionary 类型:

NSDictionary *info = [NSDictionary dictionaryWithObject:@"Brad Pitt" forKey:@"User Name"];


[[NSNotificationCenter defaultCenter] postNotificationName:@"UserNameNotification" object:self userInfo:info];

然后你可以添加观察者并为相应的选择器编写方法。

于 2011-06-14T03:06:10.843 回答
0

最好的方法是 UIController 的模型展示风格。当用户关闭视图时,您的表视图会通过委托方法得到通知,您可以在表视图中添加该数据。

现在,如果您不想使用模型视图样式,那么您可以使用 NSUserDefault。

 Thats what I was trying to do, but the user could ultimatly enter in hunderds of data.

您不必考虑您应该做的是首先重置 NSUserDefault。然后将所有数据保存在 NSUserDefault 中,然后从表视图中获取该数据。

[NSUserDefaults resetStandardUserDefaults];

您还可以做的一件事是在 Delegate 中创建一个变量并在其中保存数据并在表格视图中获取它。但我不建议你这样做。

于 2011-06-14T04:45:10.223 回答