我有一个Nsstring类别类(Nsstring URLEncoding.h).
我正在运行和未知的选择器崩溃,因为我调用category方法的字符串已经被iOS优化为NSCFConstantString.
我正在运行和未知的选择器崩溃,因为我调用category方法的字符串已经被iOS优化为NSCFConstantString.
-[__NSCFConstantString URLEncodedString]: unrecognized selector sent to instance 0x290174
我从iOS 5中了解了NSCFConstantString与NSCFString优化:
http://www.cocoanetics.com/2012/03/beware-of-nsstring-optimizations/
有人知道我如何获得Nsstring类别包括Constant字符串,甚至强制var为Nsstring / NSCFString而不是NSCFConstantString?
干杯,
ž
-编辑-
>链接器标志-ObjC -all_load都已经实现了
Nsstring URLEncoding.m包含在目标编译源中
> Nsstring URLEncoding.m实现URLEncodedString方法.
>检查僵尸.
标题:
@interface Nsstring (OAURLEncodingAdditions) - (Nsstring *)URLEncodedString;
执行:
@implementation Nsstring (OAURLEncodingAdditions) - (Nsstring *)URLEncodedString { Nsstring *result = (Nsstring *)CFURLCreateStringByAddingPercentEscapes(kcfAllocatorDefault,(CFStringRef)self,NULL,CFSTR("!*'();:@&=+$,/?%#[]"),kcfStringEncodingUTF8); [result autorelease]; return result; }
解决方法
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。