2011-12-29 6 views
1

약간의 연구를 한 후에 약간 혼란 스럽습니다. 내가 예를 들어 정확한 디렉토리를 알고 있다면 당신이 정확한 경로를 알고하지 않은 경우URL에서 이미지 배열 추출하기

거친의
UIImage *image = [[UIImage alloc] initWithData:[NSData dataWithContentsOfURL:[NSURL URLWithString:@"http://www.myUrl.com/pic/workaholics.png"]]]; 
UIImageView *view1 = [[UIImageView alloc] initWithImage:image]; 
[self.view addSubview:view1]; 

이 잘 작동하지만, URL에서 하나의 이미지를 잡아 수 있습니다. 리눅스에서는 언제나 일종의 재귀 적 검색을 할 수 있지만 iOS에서는 알아낼 수 없습니다. 예를 들어, "pic"디렉토리에서 pic1, pic2, pic3 등의 다른 디렉토리가 있고 각 디렉토리에 임의의 수의 png가있는 경우 어떤 경우에 지정 했는가? 머리를 감싸는 데 어려움을 겪고 있습니다. "pic"디렉토리를 재귀 적으로 검색하여 .png와 일치하는 모든 디렉토리 내용을 추출 할 수 있습니다. 내가 굵은 것 다음 NSData 및 문자열로 변환 저장하고 배열의 내용을 저장합니다. 나는이 시점에서 매우 혼란 스럽다. 어떤 도움이라도 대단히 감사하겠습니다.

답변

0

UIImage은 데이터를 가져 오기 위해 명시 적 (URL 또는 파일 경로)이 필요합니다.

하나의 잠재적 인 솔루션은 NSFileManager의 enumeratorAtPath: 메서드를 통해 .png 파일 검색을 구현하는 것입니다. 심지어 내가 UIImages (그냥 일을 대신 @png@"doc" 스위치를 만드는 데 사용할 수있는 코드 조각을 가지고 링크 된 참조 가이드는 UIImage * image = ... 할).

재귀 적으로 수행하는 방법을 알아 내기위한 연습으로 남겨 두겠습니다.하지만 내 대답이 도움이되기를 바랍니다.

+0

'file :'유형의 URL에서만 작동합니까? 나는 그 질문이'http :'를 프로토콜로 언급한다고 믿는다. – Monolo

0
NSURL *url = [NSURL 
URLWithString:@”www.ArticleDean.com\images\sample.jpg”]; 
NSData *data = [NSData dataWithContentsOfURL:url]; 
UIImage *image = [[UIImage alloc] intiWithData:data]; 

여기이 하나

1

귀하의 어려움은 웹 서버에서 디렉토리 목록을 얻는 것 시도 - 당신은 웹을 통해 이미지를 검색하기 때문에. 많은 웹 서버는 해킹 시도에 대한 보안 조치로 디렉토리 목록을 제공하지 않습니다.

웹 서버를 제어하는 ​​경우 디렉터리 목록을 제공하도록 다시 구성한 다음 디렉토리 수준 URL (http://www.myUrl.com/pic/)에서 NSData 개체를 만들고이를 구문 분석하여 디렉토리 내의 모든 파일을 꺼내십시오. 그런 다음 각 개별 그림을 요청하여 배열에 직접 추가 할 수 있습니다.

웹 서버를 제어 할 수는 없지만 디렉토리에 쓸 수있는 경우 디렉토리에 포함 된 파일 이름을 나열하는 매니페스트 파일 (XML-plist는 좋은 형식 임)을 만들어 비슷한 구현을 할 수 있습니다. . 새 그림을 디렉토리에 추가 할 때마다 매니페스트를 업데이트해야합니다.

그렇지 않으면 n 사진 이상 있다고 가정하고 모든 사진의 파일 이름이 "pic_m.png"이고 0에서 n까지 반복을 반복하여 검색하는 등의 더러운/해킹 일을해야합니다. 당신이 실패 할 때까지 각 파일.

관련 문제