NSUserDefault对iphone sdk的疑虑

时间:2012-02-19 05:03:21

标签: iphone

我的主视图中有一个文本,textiew旁边有一个按钮,当我点击按钮弹出一个popoverviewcontroler时,在我的popover控制器视图中有一些文本,在tableview中(高,低,中,天赋) )我想当用户点击主文本字段中需要批量处理的高位时,但我在索引路径的DiSelect行中尝试了nsuserdefault。但是当我点击tableiew时我什么都没发生。我可以这样做。 我的代码

NSString *strr = @"High";//i put the static value 


- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{

    [[NSUserDefaults standardUserDefaults] setObject:strr forKey:@"flair"];
    [[NSUserDefaults standardUserDefaults] synchronize];
}

此代码位于popoveriewconteroler中 在我的主视图中

- (void)viewDidLoad
{
    [super viewDidLoad];
NSString *strr = [[NSUserDefaults standardUserDefaults] objectForKey:@"flair"];
    textfiled.text = strr;
}

当我回到另一个页面并返回时,它会对文本字段中的高位进行排序。但是我的红色是当用户点击popoveriewcontroller tableviewcell时,它会同时更改文本字段值。这是可能的。 提前谢谢。

1 个答案:

答案 0 :(得分:2)

所以你想在用户点击表格单元格时更新文本标签吗?

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{

    [[NSUserDefaults standardUserDefaults] setObject:strr forKey:@"flair"];
    [[NSUserDefaults standardUserDefaults] synchronize];
    textfiled.text = strr;
}

不确定你的要求

但您可以拥有弹出控制器的属性

@property (nonatomic, retain) MyMainViewController *mainViewController;

和主视图控制器的属性

@property (nonoatomic, retain) UITextField *textField;

比你创建弹出控制器的地方

MyPopoverController *popoverController = // create popover controller
popoverController.mainViewController = // mainViewController

比你可以替换

 textfiled.text = strr;

self.mainViewController.textField.text = strr;