当前位置 : 主页 > 手机开发 > ios >

ios [__NSCFString MD5String]:无法识别的选择器发送到实例

来源:互联网 收集:自由互联 发布时间:2021-06-11
我有以下问题,我没有成功解决.我们将不胜感激. 从NSS计算md5 tring,一个类别已定义为: NSString的-md5.h @interface NSString (MD5)- (NSString *)MD5String;@end NSString的-md5.m #import CommonCrypto/CommonDigest.h#
我有以下问题,我没有成功解决.我们将不胜感激.

从NSS计算md5
tring,一个类别已定义为:

NSString的-md5.h

@interface NSString (MD5)
- (NSString *)MD5String;
@end

NSString的-md5.m

#import <CommonCrypto/CommonDigest.h>
#import "NSString-md5.h"
@implementation NSString(MD5)
- (NSString *)MD5String
    {is
    const char *cstr = [self UTF8String];
    unsigned char result[16];    
    CC_MD5( cstr, strlen(cstr), result );
    return [NSString stringWithFormat:
        @"%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X",
        result[0], result[1], result[2], result[3], 
        result[4], result[5], result[6], result[7],
        result[8], result[9], result[10], result[11],
        result[12], result[13], result[14], result[15]
        ];  
    }
@end

调用代码(提取)

#import "NSString-md5.h"
...
NSLog(@"1 %@ ",message.text);
[message.text MD5String];

中止并显示错误消息:

2013-03-03 19:06:14.104 coffreFort[1230:11303] 1 aze 
2013-03-03 19:06:22.777 coffreFort[1230:11303] -[__NSCFString MD5String]: unrecognized selector sent to instance 0x71e62b0
2013-03-03 19:06:22.777 coffreFort[1230:11303] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[__NSCFString MD5String]: unrecognized selector sent to instance 0x71e62b0'

message.text是由IB定义的IBOutlet

@property (weak, nonatomic) IBOutlet UITextField *message;
这是CLANG(他们承诺将修复)的一个问题,其中类别经常被卸载,特别是在框架或库的上下文中.除了-ObjC之外,你必须传递链接器标志-all_load(或-force_load)强制链接器将它们包含在二进制文件中.
网友评论