SORU
22 EKİM 2010, Cuma


Objective-C Kategorisi tanınmayan seçici Neden

Projemi başka bir sınıftan çağırmak istiyorum Uİİmage kategori bir işlevi vardır. Ben düzgün resim kategori başlık dosyası alma ve proje herhangi bir uyarı ile derlemek için.

Sorun uiimage kategori fonksiyonu çağırdığımda bir NSİnvalidArgumentException ile tanınmayan seçici bir hata gördüm. Neden eğer her şey düzgün bağladım yoksa hayal mi görüyorum?

#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

dosya aramaları:

        backgroundView = [[UIImageView alloc] initWithImage:[UIImage imageNamedDR:@"Share Popup Background"]];

özel durum oluşturuldu:

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 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

CEVAP
22 EKİM 2010, Cuma


Birkaç olasılık vardır:

  1. Hedefin içine UIImage TTShare.m bağlantı değil. Bu kadar başlık varken, uygulama derleme değilsin.
  2. Eğer bu statik bir kütüphane bir parçası ise, -all_load eklemek gerekirDiğer Linker Flagsuygulama için ayar kitaplığı karşı bağlantı kurmak.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • LimeFire

    LimeFire

    2 ŞUBAT 2012
  • modica89

    modica89

    24 HAZİRAN 2007
  • psidot

    psidot

    2 Kasım 2006