2012-02-24 4 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 또는 속성으로 선언되지 않으면이 오류가 발생합니다. Andrea의 대답을 읽어보십시오. – sosborn

답변

1

이미지를 NSUserDefault에 저장할 수는 없지만 경로를 저장할 수 있습니다. 따라서 NSUserDefault에 액세스하여 키 이미지 또는 viceversa에 대한 obeject를 전달하는 것이 옳지 않습니다. 앱 샌드 박스에 저장하고 경로를 저장할 수 있습니다. 그런 다음 클래스 메서드 [UIimage imageWithContentsOfFile:path]; 을 사용할 수 있습니다. 그런데 데이터 문자열로 저장할 수는 있지만 가치가 있다고 생각하지 않아 적절한 인코딩과 디코딩이 필요합니다. 적절한 변환 후에 NSData 객체로 저장하려고하면 NSUserDefault가이를 지원합니다.

+0

감사합니다. – BillyRay