programing

오류: CUICatalog:잘못된 자산 이름 제공: (null) 또는 잘못된 축척 비율: 2.0000

stoneblock 2023. 4. 24. 21:09

오류: 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]기능.이 경우,imageNamenil에러가 발생합니다.

오류의 이유는 "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