2012-02-24 7 views
1

私のviewDidLoadでエラーが発生します。それは、宣言されていない識別子 'オブジェクト'があるということです。
私はこの方法でデータを保存したり取得したりするのが初めてで、何をすべきか分かりません。iOSでの単純なデータの取得問題

//Viewcontroller.m 

-(void)saveString:(UIImage*)myString 
{ 
    [[NSUserDefaults standardUserDefaults] setObject:myString forKey:@"image"]; 
} 

- (IBAction)back:(id)sender { 
    [self saveString:object.image]; 
} 




//ViewController2.m 

-(UIImage*)retrieveString 
{ 
    UIImage* recoveredString = [[NSUserDefaults standardUserDefaults] objectForKey:@"image"]; 
    return recoveredString; 
} 

- (void)viewDidLoad 
{ 
    object.image = [self retrieveString]; 
    [super viewDidLoad]; 
} 
+0

あなたは 'object.image'を持っていますが、どこにオブジェクトを宣言するのかは明確ではありません。オブジェクトがivarまたはプロパティとして宣言されていない場合、このエラーが発生します。また、アンドレアの答えを読んでください。 – sosborn

答えて

1

イメージをNSUserDefaultに保存することはできませんが、パスを保存することはできます。だから、NSUserDefaultにアクセスして、キーイメージまたはその逆のためにobejectを渡すのは適切ではありません。あなたはそれをあなたのアプリケーションサンドボックスに保存して、そのパスを保存することができます。次に、クラスメソッドを使用することができます[UIimage imageWithContentsOfFile:path]; ところで、それはデータの文字列として保存することができますが、私はそれを価値があるとは思わないし、適切なエンコーディングとデコードが必要です。適切な変換の後にNSDataオブジェクトとして保存することもできます。NSUserDefaultはそれをサポートします。

+0

ありがとう、私はそれを調べます – BillyRay