오류: CUICatalog:잘못된 자산 이름 제공: (null) 또는 잘못된 축척 비율: 2.0000
TableViewApplication[1458:70b] CUICatalog: Invalid asset name supplied: (null), or invalid scale factor: 2.000000
TableViewController 사용 중 이 경고가 발생하였습니다.이 오류를 수정하는 방법과 영향을 받는 블록은 무엇입니까?
은, 「이것」을 넣으려고 됩니다.nil[UIImage imageNamed:]
[UIImage imageNamed:]
$arg3 == nil 뮬뮬터 condition condition condition condition condition condition 、$r0 == niliPhone 또는 iPhone $x2 == nil iPhone64(iPhone 64비트)의 경우.
응용 프로그램을 실행하여 디버거가 중지되는 위치를 확인합니다.
추신. 이미지 이름이 빈 문자열인 경우에도 이 문제가 발생합니다.할 수 있는 은 '보다'를 더하면 됩니다.[(NSString*)$x2 length] == 0조건을 충족시킵니다.
오류(통상은는 이미지를 할때합니다.[UIImage imageNamed:myImage]는 iOS가 아닌지는 않습니다.myImage이지 ★★★★★★★★★★★★★★」NSString그리고 이 경고를 받게 됩니다.
이 문제는 다음 방법으로 해결할 수 있습니다.
[UIImage imageNamed:[NSString stringWithFormat:@"%@", myImage]]
그냥 만 하면 요.length의 of のの の of of の of of の of of の of of ofUIImage:
if (myImage && [myImage length]) {
[UIImage imageNamed:myImage];
}
이 "" " " " " 이므로 " " " " " 입니다.(null) 「이러다」, 「이러다」, 「이러다」라고 하는 콜에 할 가능성이 .[UIImage imageNamed:nil]말하면,되지 않았기 는 '아까', '아까', '아까', '아까', '아까', '아까 '아까',nil을 사용하는 stringWithFormat:을 사용하다 실제로 원하는 대로 작동하지 않을 가능성이 높다고 생각합니다.이 " " " 인nil하면 stringWithFormat:를 사용하면 stringWithFormat: 를 호출하는 (이라는됩니다.[UIImage imageNamed:@"(null)"].
다음과 같은 방법이 더 나을 수 있습니다.
if (name) {
UIImage *image = [UIImage imageNamed:name];
} else {
// Do something else
}
처음부터 이 코드가 0 값으로 호출되는 이유를 파악하기 위해 "다른 작업을 수행" 행에 Xcode의 중단점을 설정할 수 있습니다.
Xcode 6.4에서는 스토리보드의 탭바 항목에 "Selected Image"를 사용할 때 유효한 이미지라도 이 문제가 발생할 수 있습니다.
이 경우 선택한 상태 이미지는 실제로 설정되지 않으므로 사용자 정의 런타임 속성에서 정의하고 탭 바 항목의 Selected Image 속성에서 제거해야 합니다.
제 경우 [UIMage image Name:@"" ]그래서 경고를 표시했다.imageNamed 를 사용한 모든 행에 브레이크 포인트를 추가하고 경고가 검출된 행을 디버깅합니다.
스토리보드가 여러 개로 분할된 후 이 일이 일어났습니다(실제 변경은 휴가 중이었기 때문에 어떻게 했는지 정확히 알 수 없습니다.
스토리보드의 XML을 검사한 결과, 이전에 자산 카탈로그에서 "바텀바"를 가리키던 이미지 참조가 다음을 가리키는 것을 발견했습니다.imageView:fFo-1g-jzs:image.
아래 XML 파일 끝에 있는<resources>태그는 이름이 붙은 태그입니다.<image name="imageView:fFo-1g-jzs:image">큰 것을 포함하다mutableData블롭
스토리보드에서 이미지 참조를 리셋하고 블럽을 제거한 후 오류가 사라졌습니다.
잘못된 이미지 이름을 제공하므로 이미지 이름을 입력하기 전에 위의 방법 중 하나라도 코드에 맞는 방법을 사용할 수 있는지 확인해야 합니다.
if (iconImageName && [iconImageName length])
{
[UIImage imageNamed:iconImageName];
}
else
{
iconImageName.hidden = YES;
}
도움이 되었으면 좋겠다!!!!
저는 이 오류를 방금 고쳤습니다.의 사용법을 확인해 주세요.[UIImage imageNamed:(NSString*) imageName]기능.이 경우,imageName이nil에러가 발생합니다.
오류의 이유는 "imageName:" 메서드에 0 값을 전달하고 있습니다.이를 피하기 위해 0 값을 전달하려고 할 때 imageView를 숨길 수 있습니다.UITableView에서 imageView를 재사용할 때 발생하거나 scrollViews에서 발생할 수 있습니다.
다음 체크로 경고를 피했습니다.
UIImageView *your_image_view;
NSString *imageName;
if(imageName && imageName.length){
your_image_view.hidden = NO;
your_image_view.image = [UIImage imageNamed:imageName];
}
else {
your_image_view.hidden = YES;
}
이미지 사용 로드 시 이 경고가 표시됨[[UIImage imageNamed:normalStr] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal]그럼, 저는 로 바꿉니다.[UIImage imageNamed:normalStr], 경고가 사라졌습니다.
한 가지 접근법은 클래스 메서드를 대체하기 위해 스위징하는 것입니다.[UIImage imageNamed:]를 실장하고 있는 경우는, 실장내의 이미지명을 확인해 주세요.다음을 참조하십시오.
iOS에서 클래스 메서드를 전환하려면 어떻게 해야 합니까?
UIMage(디버깅) 카테고리에서 이 기능을 구현했습니다.
+ (UIImage *)db_imageNamed:(NSString *)imageName {
if ([imageName length] == 0) {
NSLog(@"breakpoint here");
}
return [self db_imageNamed:imageName]; // not a recursive call here after swizzling
}
한 잔 하는 게 좋을 거야[UIImage imageNamed:inBundle:compatibleWithTraitCollection:]뿐만 아니라.
내 경우 UILabel, UIMageView 및 UITextFied를 사용하여 셀을 구현했지만 이미지를 표시하지 않을 수 있습니다.이 경우 빈 문자열을 보냅니다.""imageView로 이동합니다.같은 에러/경고가 발생하고 있습니다.
오류:[framework] CUICatalog: Invalid asset name supplied: ''
해결책은 우리가 통과해야 한다는 것이다.nil대신""빈 문자열
코드:
if imgName.count > 0 {
selectedIconView.image = UIImage(named: imgName)
} else {
selectedIconView.image = nil
//You can also use
//selectedIconView.isHidden = true
}
이를 사용하여 "imageName"이 "nil"이 아님을 확인할 수 있습니다.그러면 이 경고를 무시하게 됩니다.
if (imageName) {
self.imageView.image = [UIImage imageNamed:imageName];
}
언급URL : https://stackoverflow.com/questions/22011106/error-cuicatalog-invalid-asset-name-supplied-null-or-invalid-scale-factor
'programing' 카테고리의 다른 글
| iOS 8 렌더링되지 않은 뷰의 스냅샷은 빈 스냅샷이 됩니다. (0) | 2023.04.24 |
|---|---|
| Eclipse 프로젝트의 JDK 버전을 변경하는 방법 (0) | 2023.04.24 |
| Windows에서 포트 80을 사용하고 있는 프로그램을 찾으려면 어떻게 해야 합니까? (0) | 2023.04.24 |
| 이클립스 Android 및 기티뇨어 (0) | 2023.04.24 |
| 'INNER JOIN'과 'OUTER JOIN'의 차이점은? (0) | 2023.04.24 |


