Tag: 精度

iOS 7.1 CommonCrypto库抱怨:隐式转换失去整数精度:'NSUInteger'(无符号长整型)为CC_LONG(unsigned int)

我得到了上面的错误(在标题),而从文件做一个MD5 ..我通常可以应付这种types的32-> 64位转换问题..但在这种情况下,我不知道我该怎么做,因为CC_MD5是CommonCrypto->CommonDigest ,一个iOS7.1附带的库。 我假设[inputData length]是返回NSUInteger,其中存在的问题,但是我可以简单地从UL下拉到UI? 如果文件很大,我可能会失去精度。 为什么苹果提供的图书馆需要使用64位的语言,如iOS? 有人忽略了一些事情,或者我真的很愚蠢,错误地诊断问题? – (NSString*) getMD5FromFile:(NSString *)pathToFile { unsigned char outputData[CC_MD5_DIGEST_LENGTH]; NSData *inputData = [[NSData alloc] initWithContentsOfFile:pathToFile]; CC_MD5([inputData bytes], [inputData length], outputData); [inputData release]; NSMutableString *hash = [[NSMutableString alloc] init]; for (NSUInteger i = 0; i < CC_MD5_DIGEST_LENGTH; i++) { [hash appendFormat:@"%02x", outputData[i]]; } return [hash autorelease]; } 从CommonCrypto-> […]