오류: 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 == nil
iPhone 또는 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 |