Добавление текста в textview внутри приложения iPhone - PullRequest
0 голосов
/ 17 февраля 2012

У меня есть приложение, в котором у меня есть просмотр текста. Текстовое представление заполняется от первого контроллера представления до подробного контроллера представления и отличается в зависимости от того, какое изображение в первом представлении было нажато. Пользователь может нажать на него и добавить текст, а затем скрыть клавиатуру. Я хотел бы, чтобы они могли сохранить добавленный текст в приложение. Может ли кто-нибудь помочь мне сделать это или направить меня в правильном направлении.

Вот код с первого контроллера вида.

- (void) coverflowView:(TKCoverflowView*)coverflowView coverAtIndexWasDoubleTapped:(int)index{

SomeDetailViewController *detailViewController = [[SomeDetailViewController alloc] initWithNibName:@"SomeDetailViewController" bundle:nil];

    if ((int)index == 0) {

        [[NSUserDefaults standardUserDefaults] setObject:(@"This is  #1")
                                                  forKey:@"textkey"];
   }
    else if ((int)index == 1) {
        [[NSUserDefaults standardUserDefaults] setObject:(@"This is  #2")
                                                  forKey:@"textkey"];
}
etc.
[self.navigationController pushViewController:detailViewController animated:YES];
}

На detailViewController мой код

-(void) ViewDidLoad {

UIBarButtonItem *doneButton =[[UIBarButtonItem alloc]
                                   initWithTitle:@"Done"
                                   style:UIBarButtonItemStyleBordered
                                   target:self
                                   action:@selector(doneEditing:)];
    self.navigationItem.rightBarButtonItem = doneButton;                       //I could use this as the save button.

self.myText.text =[[NSUserDefaults standardUserDefaults] objectForKey:@"textkey"];

}

Спасибо


ОК. Я пытаюсь избавиться от NSUserDefaults и использовать NSMutableDictionary.

Вот мой новый код в первом контроллере представления, где был USUserDefault.

- (void) coverflowView:(TKCoverflowView*)coverflowView coverAtIndexWasDoubleTapped:(int)index{




SomeDetailViewController *detailViewController = [[SomeDetailViewController alloc] initWithNibName:@"SomeDetailViewController" bundle:nil];

    if ((int)index == 0) {
        NSMutableDictionary *mydictionary = [[NSMutableDictionary alloc] init];
        [mydictionary setObject:(@"0002.jpg") 
                         forKey:@"imagekey"];

    }

 [self.navigationController pushViewController:detailViewController animated:YES];
}

В подробно ViewController я написал этот код в ViewDidLoad {

 imageView .image = [[UIImage alloc] init];
    self.imageView.image =[UIImage imageNamed:[[NSMutableDictionary ] objectForKey:@"imagekey"]]; 

Для замены кода NSUserDefault.

но я продолжаю получать ошибки

Ожидается ';' после выражения Ожидаемое выражение Результат экспозиции не используется Ожидаемый идентификатор

Может кто-нибудь, пожалуйста, помогите.

1 Ответ

1 голос
/ 17 февраля 2012

Это не похоже на хорошее использование класса NSUserDefaults.Он предназначен для постоянного хранения, а не для взаимодействия между классами.Если вы хотите продолжать использовать его таким образом, обязательно наберите [[NSUserDefaults standardUserDefaults] synchronize]; после установки значения.

На ваш вопрос ...

Поскольку у вас уже есть просмотр текста с текстомсвойство, которое содержит текущий текст, вы можете просто использовать его в качестве механизма хранения.Когда вы создаете экземпляр SomeDetailViewController, просто передайте textview.text в пользовательский метод init или даже установите свойство detailViewController.myText.text непосредственно из вашей coverflowView:coverAtIndexWasDoubleTapped: реализации.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...