Iphone 显示UIPickerview选定值
我有一个Iphone 显示UIPickerview选定值,iphone,ios,uipickerview,Iphone,Ios,Uipickerview,我有一个UIPickerView,它显示项目数组。当我选择一个项目时,它可以传递给我的所有视图控制器。现在我的问题是在移动到不同的视图控制器并返回到UIPIckerView后,它显示第一个数组项,而不是我选择的项。如何查看所选项目 //in viewDidLoad() itemsArray = [[NSArray alloc] initWithObjects:@"5", @"10", @"20", @"30", @"50",@"100", nil]; // if i select 20 and
UIPickerView
,它显示项目数组。当我选择一个项目时,它可以传递给我的所有视图控制器。现在我的问题是在移动到不同的视图控制器
并返回到UIPIckerView
后,它显示第一个数组项,而不是我选择的项。如何查看所选项目
//in viewDidLoad()
itemsArray = [[NSArray alloc] initWithObjects:@"5", @"10", @"20", @"30", @"50",@"100", nil];
// if i select 20 and moved to other pages of my controllers and
// return to the UIPickerView i can see the 5 as selected not the 20
有什么建议吗?您需要将所选值存储在某个位置,作为视图控制器或模型上的属性,或存储在中央位置,如
NSUserDefaults
然后,当您使用UIPickerView
返回到该视图控制器时,您可以使用
-(void)selectRow:(NSInteger)row inComponent:(NSInteger)component animated:(BOOL)animated
设置值。您需要将所选值存储在某个位置,作为视图控制器或模型上的属性,或存储在中央位置,如NSUserDefaults
然后,当您使用UIPickerView
返回到该视图控制器时,您可以使用
-(void)选择row:(NSInteger)row inComponent:(NSInteger)component animated:(BOOL)animated
来设置值。根据您想要实现的目标以及打开进一步视图的方式,它可能很简单,只需声明@property int currentIndex
,设置currentIndex=indexForSelectedItem
,然后在您的视图中将出现,使用它来提醒您的视图最后选择的是什么。根据您想要实现的目标,以及您打开另一个视图的方式,它可能非常简单,只需声明@property int currentIndex
,为selecteditem设置currentIndex=indexForSelectedItem
,然后在您的视图中将出现,使用它来提醒您的视图上一次选择的内容。可以通过不同的方式执行此操作
在不同的VCs中使用传递值或引用
将所选值存储在其他某个位置,该位置在整个运行时保持不变并使用它
像
- 默认情况下
- 在单例实例中[坏主意,内存一直保留,但
仍然是一种选择]
- SQLite DB[好,好,仅在本例中仍然很难]
- coredata[为此目的进行了说明]
- 在文件中[从文件写入和读取操作]
可以用不同的方式来实现
- 在不同的VCs中使用传递值或引用
- 将所选值存储在其他某个位置,该位置在整个运行时保持不变并使用它
像
- 默认情况下
- 在单例实例中[坏主意,内存一直保留,但
仍然是一种选择]
- SQLite DB[好,好,仅在本例中仍然很难]
- coredata[为此目的进行了说明]
- 在文件中[从文件写入和读取操作]
Hi use NSUserDefaults用于使用
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
[defaults setObject:[NSNumber numberWithInt:albumCount] forKey:@"AlbumCount"];
[defaults synchronize];
为了安全起见
albumCount = [defaults integerForKey:@"AlbumCount"];
Hi use NSUserDefaults用于使用
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
[defaults setObject:[NSNumber numberWithInt:albumCount] forKey:@"AlbumCount"];
[defaults synchronize];
为了安全起见
albumCount = [defaults integerForKey:@"AlbumCount"];
显示,如何在视图控制器之间传递数据。显示,如何在视图控制器之间传递数据。