0

我有一个非常简单的选项卡式应用程序,其中包含两个选项卡“当前信息”和“设置”。在设置选项卡中,您可以配置轮询服务以获取信息的频率。配置轮询后,应用程序将轮询服务并更新“当前信息”选项卡中的信息。

可能是简单的问题。我有一个用于设置面板的 TableViewController。

#import <UIKit/UIKit.h>

@interface SettingsViewController : UITableViewController <UITextFieldDelegate>

@property (weak, nonatomic) IBOutlet UITextField *refreshRateTextField;

@property (copy, nonatomic) NSNumber *refreshRate;

@end

将 refreshRate 传递给另一个 ViewController 的推荐方法是什么。没关系,但另一个 ViewController 也是 TableViewController。因为当前信息面板需要更新它在设置更改时轮询的间隔,所以我可能想向 CurrentInfoController 触发一个事件,以便它可以更新其间隔。

我对 iOS 很陌生(这是我正在尝试编写的一个简单的启动应用程序)。由于此类问题的高水平答案或将我指向苹果文档将继续进行,只需要知道如何开始。

还忘了提到我正在使用情节提要,很多 MVC 示例为此使用 nib 文件。

谢谢。

4

2 回答 2

0

当与其他视图控制器通信时,您可以使用NSNotifications,但是在这种情况下,NSUserDefaults它可以很好地完成任务。

于 2013-05-20T15:53:35.330 回答
-1

我认为对于您的具体情况,将其存储是refreshRate可行NSUserDefaults的方法。然后,您可以从应用程序中的任何位置检索它。

NSNumber将(对象)保存到NSUserDefaults

[[NSUserDefaults standardUserDefaults] setObject:refreshRate forKey:@"savedRefreshRate"];

NSNumber从检索NSUserDefaults

NSNumber refreshRate = [[NSUserDefaults standardUserDefaults] objectForKey:@"savedRefreshRate"];

该代码应该适用于您的情况,但我仍将发布指向类参考的链接。你应该习惯阅读它们,因为它是学习 iOS 开发的宝贵资源。

有关详细信息,请参阅NSUserDefaults 类参考

于 2013-05-20T15:49:22.360 回答