내가 NSString
의 배열을 가지고 :번들 내에 이미지가 있는지 여부를 확인하는 방법은 무엇입니까?
Flower
Car
Tree
Cat
Shoe
이러한 문자열의 일부 그와 관련된 이미지가; 일부는하지 않습니다. 이름에 .png
을 추가하여 이미지 이름을 만들 수 있습니다 (예 : Flower.png
).
이미지를보기에로드하려고하기 전에 해당 이미지가 실제로 번들 내에 있는지 확인하려면 어떻게합니까?
내가 NSString
의 배열을 가지고 :번들 내에 이미지가 있는지 여부를 확인하는 방법은 무엇입니까?
Flower
Car
Tree
Cat
Shoe
이러한 문자열의 일부 그와 관련된 이미지가; 일부는하지 않습니다. 이름에 .png
을 추가하여 이미지 이름을 만들 수 있습니다 (예 : Flower.png
).
이미지를보기에로드하려고하기 전에 해당 이미지가 실제로 번들 내에 있는지 확인하려면 어떻게합니까?
이것은 또한 작업을해야하고, 조금 짧은 :
if (flowerImage = [UIImage imageNamed:@"Flower.png"])
{
... // do something here
}
else
{
... // image does not exist
}
imageNamed:
방법은 메인에서 찾게됩니다 png 파일에 대한 번들.
그냥 자원을로드하고 nil
여부가 있는지 확인 :
NSString* myImagePath = [[NSBundle mainBundle] pathForResource:@"MyImage" ofType:@"jpg"];
if (myImagePath != nil) {
// Do something with image...
}
나는 이미지가있는 경우 다음 확인할 수 있습니다 변수로 이미지를 할당합니다 :
UIImage * flowerImage = [UIImage imageNamed:@"Flower.png"];
if (flowerImage) {
// Do something
}
else {
// Do something else
}
을 우리는 그림이 특정 이름과 이미지를 동일 있는지 확인하는 허용 대답에. 우리가 돌아올 것 같은 이미지 Flower.png는
및
변수를 이미지에 할당 한 다음 변수가 할당되었는지 여부를 확인합니다. 우리에게 명확한 예 또는 Flower.png 나는 심지어 파일 이름에 ".PNG"를 추가하지 마십시오
점 2 점이 맞지 않습니다. if 문에서의 대입 연산자는 if 문 이전의 대입과 완전히 동일합니다. 코드는 허용 된 응답 코드와 동일합니다. – Ephemera
확인. 그러나 내 대답은 받아 들여진 대답이 잘못 될 것이라는 가정하에 달리고있다. = 대신 =를 사용하면 Flower.png이 없거나 flowerImage와 다른 경우 이미지가 존재하지 않습니다. 어쩌면 허용 된 대답은 다음과 같아야합니다. ((flowerImage = [UIImage imageNamed : @ "Flower.png"])) 이것도 할당하므로 (http://stackoverflow.com/questions/3323257/double-parentheses-in-sample- 암호). 이 경우 포인트 2가 요인이되지 않을 것이라고 당신이 맞습니다. 그래도 편집하지 않으면 오류가 발생합니다. –
'= '를 사용하여 if 조건 내에서만 경고를 던지고, 더 이상 그렇게하지 않는다고 생각합니다. 적어도 Xcode에는 컴파일러 플래그를 설정할 수 있습니다. 어쨌든, 이것은 그 질문에 대한 대답이 말하는 다른 10 % 중 하나입니다. 대입 표현식의 결과는 표현식의 왼편입니다 (이 경우 lvalue -'flowerImage'). 이것이 nil (즉, -imageNamed : returned nil)이면 if 조건은 false가됩니다. 그렇지 않으면 사실 일 것입니다. – Ephemera
존재 여부에 따라 전혀 반환하지 그것은 작동합니다
NSArray *images = @[@"Flower", @"Car", @"Tree", @"Cat", @"Shoe"];
if ([UIImage imageNamed:images[0]]){
// there is a flower image
} else {
// no flowers for you
}
}
이 ISEQUAL를 사용하는 좋은 규칙은 : 두 객체가 같은지 검사 할 때. 또한 ==를 사용할 수도 있지만 특정 상황에서 (때로는 객체와 매개 변수를 비교할 때) 예상 된 결과를 반환하지 않기 때문에 추천하지 않습니다. 꽃 이미지가 이미지 png와 같은지 확인하는 대신 할당하는 것처럼 현재 코드도 잘못되었습니다. 이 코드를 복사하면 isEqual : 또는 ==를 추가하면 오류가 발생합니다. –
이 작동하지만 이미지를 찾을 수 없다는 경고 메시지가 iOS에 나타납니다. – Herno