【发布时间】:2011-11-08 13:02:10
【问题描述】:
我已经编辑了整个问题
在以下情况下,呈现 ModelView Controller 和关闭模态视图控制器有什么区别??
- 主页视图
- TableItemSelection 视图
- 拾取器视图
在主视图中
我正在viewWillAppear 中编写代码以从从 TableView 设置的 NSUserDefault 中获取值。下面是我的 viewDidLoad 代码(用于初始值)和 viewWillAppear(当来自 tableview 的新值时)
- (void)viewDidLoad
{
[super viewDidLoad];
actionMinutes = @"0";
actionSeconds = @"0";
restMinutes = @"0";
restSeconds = @"0";
}
- (void) viewWillAppear:(BOOL)animated
{
actionMin = [actionMinutes intValue];
actionSec = [actionSeconds intValue];
restMin = [restMinutes intValue];
restSec = [restSeconds intValue];
NSLog(@"acMin:%d acSec:%d reMin:%d reSec:%d",actionMin,actionSec,restMin,restSec);
}
在 TableItemSelection 视图中
我从 HomeView 呈现这个视图。现在我想根据 Table 的 didSelectRowAtIndex 方法在 HomeView 中设置 NSString 的值。我正在使用NSUserDefault 来设置值。
通过完成按钮触摸,我正在展示 HomeView。 (实际上我必须dismissModalViewController)但是当我使用dismiss时,我无法在HomeView的NSString中获取值。我从 PickerView 获取表的值。 (我被指示这样做)。下面是我在完成按钮触摸时的表格视图代码
HomeView *homeView = [[HomeView alloc] init];
[homeView.view setBackgroundColor:[UIColor clearColor]];
[homeView.view setFrame:CGRectMake(0 ,40, 320, 460)];
homeView.actionMinutes = [[NSUserDefaults standardUserDefaults] valueForKey:@"actionMinute"];
homeView.actionSeconds = [[NSUserDefaults standardUserDefaults] valueForKey:@"actionSecond"];
homeView.restMinutes = [[NSUserDefaults standardUserDefaults] valueForKey:@"restMinute"];
homeView.restSeconds = [[NSUserDefaults standardUserDefaults] valueForKey:@"restSecond"];
homeView.song = [[NSUserDefaults standardUserDefaults] valueForKey:@"songstring"];
NSLog(@"%@",homeView.actionMinutes);
[self presentModalViewController:homeView animated:YES];
//[self dismissModalViewControllerAnimated:YES]; // if this method is used then no values are passed to HomeView
[homeView release];
在 PickerView 中 我正在从 pickerview 中获取值,然后将其存储在 UserDefault 中。 下面是我的pickerview代码
NSUserDefaults *actionTime = [NSUserDefaults standardUserDefaults];
[actionTime setValue:min forKey:@"actionMinute"];
[actionTime setValue:sec forKey:@"actionSecond"];
那么为什么我在关闭 ModelView 时无法获得 UserDefault 值。???每次呈现一个新视图会不会产生一堆视图???
【问题讨论】:
-
如何在 NSUserDefault 中存储数组?可以提供代码吗?
-
你的数组是否包含自定义对象???
-
对不起,但更正.. 而不是 NSArray 它的 NSString...
-
发布如何将值设置为 NSUserDefault 以及如何在另一个控制器中获取它。
-
@Maulik 和 Mayur:我修改了问题
标签: iphone objective-c nsuserdefaults presentmodalviewcontroller dismiss