2011-03-04 3 views
0

저는 직원 정보를 저장하기 위해 핵심 데이터를 사용하는 iPad 앱을 개발했습니다. 이름, ID 및 부서라는 세 개의 입력란 만 있습니다. 응용 프로그램을 시작하면 이름이 테이블 뷰에 표시되고 행을 클릭하면 해당 ID 및 부서가 상세 뷰에 표시됩니다.이미지 표시 문제

이제 직원의 사진을 자세히보기에 표시하고 싶지만 핵심 데이터에 저장하지 마십시오. 그림이 테이블보기에 표시된 이름 순서로 저장된 자원 폴더에 "Images"라는 하위 폴더가 있습니다.

이 점에 대해 도와주세요.

+0

이미지 파일 이름에는 직원 이름이 포함되어 있습니까? "John Smith.jpg"처럼? – DarkDust

+0

예. 이미지 파일 이름에는 직원 이름이 포함되어 있습니다. –

답변

1

정적 메서드 [NSBundle mainBundle]을 사용하여 응용 프로그램 번들을 나타내는 개체를 가져옵니다. 그러면이 인스턴스 메서드 - (NSString *)pathForResource:(NSString *)name ofType:(NSString *)extension을 호출하여 저장된 이미지의 경로를 가져올 수 있습니다. 경로가 있으면 이미지 경로로 UIImage의 인스턴스를 만들 수 있습니다. 그런 다음 UIImageView (원하는 경우 인터페이스 빌더에서 수행 할 수 있음)을 만들고이 이미지를 UIImage의 인스턴스로 설정할 수 있습니다. 예를 들어

: 창조와는 이미지 뷰의 추가 것을

NSString* pathToImage = [[NSBundle mainBundle] pathForResource:@"pictureOfJohn" ofType:@"png"]; 
UIImage* image = [UIImage imageWithContentsOfFile:pathToImage]; 
UIImageView* imageView = [[UIImageView alloc] init]; 
imageView.image = image; 
[myEnclosingView addSubview:imageView]; 
[imageView release]; 

참고 인터페이스 빌더에서 수행 할 수있다.

+0

하나의 지점에 내가 명확한 설명이 필요하지 않습니다. 여러 이미지가 있어도 배열이 필요하지 않습니다. 그리고 위의 코드는 각 행을 각각의 그림과 어떻게 연결합니까? –

+0

이것에 대해 여러 가지 방법이 있습니다. 하나는 핵심 데이터 모델에 이미지 파일의 이름을 저장하는 것일 수 있습니다. 그럼'pathForResource :'함수에서 사용할 수 있습니다. 상세보기를로드 할 때 올바른 이미지를 얻기 위해 모델의 정보를 사용하여 만든이 경로를 사용하여 이미지를 만들 수 있습니까? –

+0

번들을 사용할 필요가 없다는 것을 알고 있습니까? 간단한 [UIImage imageNamed : @ "pictureOfJohn.jpg"]'같은 일을합니다. – DarkDust

1

CoreData 엔티티의 일시적인 속성에 대해 읽어야합니다. 임시적인 (예 : 기본 영구 저장소에 값을 저장하지 않음) 속성 이미지를 쉽게 추가 할 수 있습니다.이 이미지는 파일 시스템에서 직접 이미지를 읽고 쓸 수 있습니다. 즉, 한 곳에서 모든 것을 가질 수 있고 한 클래스에는 엔티티가 없으며 다른 클래스에서 이미지 처리가 가능합니다.