我有以下问题,我没有成功解决.我们将不胜感激. 从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)强制链接器将它们包含在二进制文件中.