相关疑难解决方法(0)

Objective-C类别导致无法识别的选择器

我的项目有一个UIImage类别函数,我想从另一个类调用.我正确导入图像类别的头文件,我得到项目编译没有警告.

问题是当我调用UIImage类别函数时,我看到一个无法识别的选择器错误NSInvalidArgumentException.如果我把所有东西都正确联系起来,为什么我会看到这个?

#import <UIKit/UIKit.h>

@interface UIImage (DRShare)

+ (UIImage*) imageNamed:(NSString*)name;

@end


@implementation UIImage (DRShare)

+ (UIImage*) imageNamedDR:(NSString*)name{

    CGFloat s = 1.0f;
    if([[UIScreen mainScreen] respondsToSelector:@selector(scale)]){
        s = [[UIScreen mainScreen] scale];
    }

    NSString *path = [NSString stringWithFormat:@"%@%@%@.png",kImagesPath,name,s > 1 ? @"@2x":@""];
    return [UIImage imageWithContentsOfFile:DRBUNDLE(path)];
}

@end
Run Code Online (Sandbox Code Playgroud)

调用它的文件:

        backgroundView = [[UIImageView alloc] initWithImage:[UIImage imageNamedDR:@"Share Popup Background"]];
Run Code Online (Sandbox Code Playgroud)

异常提出:

2010-10-22 11:51:02.880 Stuff[11432:207] +[UIImage imageNamedDR:]: unrecognized selector sent to class 0x1f8e938
2010-10-22 11:51:02.883 Stuff[11432:207] *** Terminating app due to uncaught …
Run Code Online (Sandbox Code Playgroud)

iphone cocoa objective-c categories

67
推荐指数
3
解决办法
2万
查看次数

标签 统计

categories ×1

cocoa ×1

iphone ×1

objective-c ×1