在app iPhone中添加文本到textview

时间:2012-02-17 16:57:16

标签: iphone textview

我有一个应用程序,我有一个textview。 textview从第一个视图控制器填充到详细视图控制器,并且根据第一个视图中的哪个图像被点击而不同。用户可以点击它并添加文本然后隐藏键盘。我希望他们能够将添加的文本保存到应用程序中。有人可以帮助我做到这一点或指出我正确的方向。

以下是第一个视图控制器的代码。

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

在detailViewController中,我在ViewDidLoad {

中编写了这段代码
 imageView .image = [[UIImage alloc] init];
    self.imageView.image =[UIImage imageNamed:[[NSMutableDictionary ] objectForKey:@"imagekey"]]; 

替换NSUserDefault代码。

但我一直收到错误

预期';'表达后 期待的表达 未使用的Expession结果 预期标识符

有人可以帮忙。

1 个答案:

答案 0 :(得分:1)

这似乎不是NSUserDefaults类的好用。它用于持久存储,而不是类间通信。如果您确实希望继续使用它,请务必在设置值后调用[[NSUserDefaults standardUserDefaults] synchronize];

在你的问题上......

由于您已经拥有包含当前文本的text属性的textview,因此您可能只想将其用作存储机制。实例化SomeDetailViewController时,只需将textview.text传递给自定义init方法,甚至直接从coverflowView:coverAtIndexWasDoubleTapped:实现设置detailViewController.myText.text属性。