2012-02-17 10 views
-2

私はテキストビューを持っているアプリを持っています。テキストビューは、最初のビューコントローラーから詳細ビューコントローラーに移入され、最初のビューのタップされたイメージに応じて異なります。ユーザーは、タップしてテキストを追加してからキーボードを非表示にできます。私は、彼らがアプリケーションに追加されたテキストを保存できるようにしたいと思います。誰かが私にこれをやってもらうか、私に正しい方向に向けるのを助けることができますか?アプリ内のテキストビューにテキストを追加する

ここには、最初のView Controllerのコードがあります。 detailViewControllerで

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

私のコード私はNSUserDefaultsを取り除くとNSMutableDictionaryに行く取得しようとしています

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

} 

おかげ


OKです。

ここで、USUserDefaultが最初のビューコントローラの新しいコードです。 detailViewControllerで

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

私はNSUserDefaultコードを交換するのviewDidLoad {

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

にこのコードを書かれています。

でもエラーが発生する

予想される ';'式の後 期待される表現 終了結果未使用 予想される識別子

助けてもらえますか?

+0

「アプリに保存」とはどういう意味ですか? – fzwo

答えて

1

これは、NSUserDefaultsクラスをうまく使用しているようには見えません。これは、クラス間通信ではなく、永続的なストレージのためのものです。このように使い続けたい場合は、値を設定してから[[NSUserDefaults standardUserDefaults] synchronize];に電話してください。あなたの質問...

上へ、

現在のテキストを含むテキストプロパティを持つのTextViewを持っているあなたはすでに、あなただけのストレージ・メカニズムとしてそれを使用する場合がありますので。 SomeDetailViewControllerをインスタンス化するときは、textview.textをカスタムinitメソッドに渡すか、coverflowView:coverAtIndexWasDoubleTapped:実装から直接detailViewController.myText.textプロパティを設定してください。

+0

非常に真実:NSUserDefaultsは書き込みごとに「エージング」するフラッシュメモリにデータを保存します。私は、アプリがあまりに頻繁にフラッシュに保存されているかどうかをチェックすることは、App Storeの承認プロセスの一部でさえあると思う。 –

+0

私はこれについてかなり新しいです。あなたがコードで意味することを私に見せることができますか?このようにすれば、テキストをロードしている現在の方法を取り除くことができますか? – user1114881

+0

NSUsersDefaultsの代わりにテキストを読み込むことを(示唆して)どうやっていいのでしょうか? – user1114881

関連する問題