
问题是,当我调用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 文件调用它:
backgroundVIEw = [[UIImageVIEw alloc] initWithImage:[UIImage imagenamedDR:@"Share Popup Background"]];
引发异常:
2010-10-22 11:51:02.880 Stuff[11432:207] +[UIImage imagenamedDR:]: unrecognized selector sent to class 0x1f8e9382010-10-22 11:51:02.883 Stuff[11432:207] *** Terminating app due to uncaught exception 'NSinvalidargumentexception',reason: '+[UIImage imagenamedDR:]: unrecognized selector sent to class 0x1f8e938'*** Call stack at first throw:( 0 CoreFoundation 0x02e65b99 __exceptionPreprocess + 185 1 libobjc.A.dylib 0x02fb540e objc_exception_throw + 47 2 CoreFoundation 0x02e6776b +[NSObject(NSObject) doesNotRecognizeSelector:] + 187 3 CoreFoundation 0x02dd72b6 ___forwarding___ + 966 4 CoreFoundation 0x02dd6e72 _CF_forwarding_prep_0 + 50 5 TapTapShare 0x0001291c -[DRShareVIEwController backgroundVIEw] + 127 6 TapTapShare 0x00012343 -[DRShareVIEwController loadVIEw] + 639 7 UIKit 0x0044f54f -[UIVIEwController vIEw] + 56 8 UIKit 0x0044d9f4 -[UIVIEwController contentScrollVIEw] + 42 9 UIKit 0x0045d7e2 -[UINavigationController _computeAndApplyScrollContentInsetDeltaForVIEwController:] + 48 10 UIKit 0x0045bea3 -[UINavigationController _layoutVIEwController:] + 43 11 UIKit 0x0045d12d -[UINavigationController _startTransition:fromVIEwController:toVIEwController:] + 524 12 UIKit 0x00457ccd -[UINavigationController _startDeferredTransitionIfNeeded] + 266 13 UIKit 0x00574b55 -[UILayoutContainerVIEw layoutSubvIEws] + 226 14 QuartzCore 0x02616481 -[CALayer layoutSublayers] + 177 15 QuartzCore 0x026161b1 CALayerLayoutIfNeeded + 220 16 QuartzCore 0x026160bd -[CALayer layoutIfNeeded] + 111解决方法 几种可能性:
>您没有将UIImage TTShare.m链接到您的目标。所以当你有标题,你不是编译的实现。>如果这是静态库的一部分,则需要将-all_load添加到“其他链接器标记”构建设置,以便将应用程序与库链接。
总结以上是内存溢出为你收集整理的iphone – Objective-C类别导致无法识别的选择器全部内容,希望文章能够帮你解决iphone – Objective-C类别导致无法识别的选择器所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)