2012-07-04 2 views
0

사용자가 선택한 이미지를 저장하려고했습니다. 여기에 내 저장 코드가 있습니다 :Xcode 이미지 저장 및로드

-(IBAction)save123456 { 
     NSUserDefaults *myname = [NSUserDefaults standardUserDefaults]; 
     [myname setObject:noteview.image forKey:@"name"]; 

} 

그게 효과가있는 것처럼 보이지만 내가 무엇을 바꾸어야하는지 알려주세요. 이제 여기에 내로드 코드가 있습니다.

-(IBAction)load123456 { 
    NSUserDefaults *myname = [NSUserDefaults standardUserDefaults]; 
    NSString *tempstring = [myname stringForKey:@"name"]; 
     noteview.image = tempstring; 

} 

로드 버튼을 클릭하면 이미지가 사라집니다. 뭐가 잘못 되었 니.

터치로 위로 모든 것을 연결하고 있습니다. 중요합니까?

감사합니다 !!!

답변

1

이 라인 :

noteview.image = tempstring; 

것은 "UIImage"으로해야하는지에 "NSString"을 할당한다.

EDIT : 이제 내가하는 일이 실현되고 있습니다. you can not save a UIImage to a simple plist database like user defaults.

는 별도로 파일을 저장 한 다음 저장하고 파일에 경로를로드하거나 필요하거나 사용자 기본값으로 이미지의 원시 데이터 (즉 "NSData") 저장하고로드해야합니다.

p.s. 변수 이름을 선택하는 것이 혼란 스럽습니다. "myname"대신 "myDefaults"를 사용하고 "tempname"대신 "nameImage"(즉 더 이해하기 쉽고 이해하기 쉬운 것)를 사용하십시오.

+2

실제로 이미지 일 경우 기본적으로 사용자 기본값으로 저장할 수 없습니다. 맥 오에스가 맥 오에스 나 맥 오에스텐에서 일하는지 모르겠다. –

+0

맞습니다 ... 그의 질문에 대한 더 많은 연구를하고 있었기 때문에 UIImages를 저장할 수 없다는 것을 깨달았습니다. 그러나 NSData를 이미지에서 저장할 수 있습니다. –

+0

알겠습니다. 예. iOS를 사용하고 있습니다. 좋아, 어떻게 NSData를 사용하여 저장할 수 있습니다. 죄송합니다. 새 Xcode입니다. 정말 고마워. – Nicholas