NSUserDefault сомневается в iphone SDK - PullRequest
1 голос
/ 19 февраля 2012

У меня есть текст, удерживаемый на моем главном экране, и кнопка рядом с текстом, когда я нажимаю кнопку, она вызывает всплывающее окно popoverviewcontroler, в моем представлении контроллера popover есть некоторый текст в виде таблицы (высокий, низкий, средний, талантливый)) Я хочу, чтобы пользователь нажимал на максимум, который ему нужно, чтобы выставить лот в главном текстовом поле, но я попытался nsuserdefault в строке DiSelect в index path. Но ничего не происходит, когда я нажимаю на таблицу. Как я могу это сделать.мой код

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;
}

, когда я возвращаюсь на другую страницу и возвращаюсь, она загружает максимум в тексте filed.butМой красный - когда пользователь нажимает на ячейку таблицы popoveriewcontroller, он одновременно изменяет значение текстового поля. Это возможно.заранее спасибо.

1 Ответ

2 голосов
/ 19 февраля 2012

, поэтому вы хотите обновить текстовую метку, когда пользователь нажимает на ячейку таблицы?

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

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

не уверен, что вы спрашиваете

но вы можете иметь свойство для вашего контроллера popover

@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;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...