Objective-C Неявное преобразование теряет целочисленную точность (size_t в CC_Long)

У меня есть функция, которая генерирует Sha256 шифрование строки,

Вот функция:

    -(NSString*)sha256HashFor:(NSString*)input
{
    const char* str = [input UTF8String];
    unsigned char result[CC_SHA256_DIGEST_LENGTH];
    CC_SHA256(str, strlen(str), result);

    NSMutableString *ret = [NSMutableString stringWithCapacity:CC_SHA256_DIGEST_LENGTH*2];
    for(int i = 0; i<CC_SHA256_DIGEST_LENGTH; i++)
    {
        [ret appendFormat:@"%02x",result[i]];
    }
    return ret;
}

Теперь эта линия прямо здесьCC_SHA256(str, strlen(str), result); это то, что создает это предупреждение (предупреждение относится к переменной strlen (str)).

Implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'CC_LONG' (aka 'unsigned int')

Я предполагаю, что мне просто нужно преобразовать strlen (str) в CC_Long, но я понятия не имею, как это сделать.

Ответы на вопрос(3)

Ваш ответ на вопрос