zoukankan      html  css  js  c++  java
  • Category in static library

    我创建了一个category,为NSString类增加一个接口:

    -(void)logMe;

    在静态库内部调用这个接口没有问题。

    但在引用这个静态库的App中使用这个接口:

    NSString * myString = @"cnblogs";
    [myString logMe];

    会报这个错:

    -[__NSCFConstantString logMe]: unrecognized selector sent to instance 0x7c6a0
    *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[__NSCFConstantString logMe]: unrecognized selector sent to instance 0x7c6a0'

     NSCFConstantString(NSString是个class cluster类,由于初始化myString用的是字符串常量,所以被初始化成NSCFConstantString对象)找不到这个接口。

    为什么呢?如果你想知道真正的原因,请把这个StackoverFlow中的所有问答全看完,注意,要看完所有答案和评论。

    看完了吗?看完后你会有一种感觉,就是没看懂,但好像知道怎么解决问题了,方法是:当使用XCode4.2以上版本时,给App的“other linker flags”加一个“-ObjC”选项。

    WTF!但这根本不算真正解决问题。问题是为什么category会导致这个问题?既然category会导入这种问题,为什么要用它?

  • 相关阅读:
    21 viewPager--- hzScrollView ----llContainer
    21 ViewPager RadioGroup
    CLEAR REFRESH FEEE的区别
    在ALV中更新数据库表
    cl_gui_cfw=>flush
    cl_gui_cfw=>dispatch
    数据库表-DD01L DD02L DD03L-保存数据表和域的消息
    SAP 锁机制
    ABAP 搜索帮助
    SAP Basis常用事务代码
  • 原文地址:https://www.cnblogs.com/tara/p/2962624.html
Copyright © 2011-2022 走看看