Могу ли я изменить (без знака) на (NSUInteger) или это создаст проблемы?

Я являюсь разработчиком программного обеспечения младшего, могу ли я просто поменять (без знака) на (NSUInteger) или буду создавать проблемы позже?

- (unsigned)retainCount
{
    return UINT_MAX;  //denotes an object that cannot be released
}

предупреждение сказал

MKStoreManager.m:88:1: Conflicting return type in implementation of 'retainCount': 'NSUInteger' (aka 'unsigned long') vs 'unsigned int'

Я нашел предыдущее определение

- (NSUInteger)retainCount OBJC_ARC_UNAVAILABLE;

1 ответ

Решение

Ваш метод должен вернуться NSUInteger потому что так retainCount метод определен в NSObject,

Ошибка вызвана значением, которое вы пытаетесь вернуть. Вместо возвращения UINT_MAX, вы должны вернуться NSUIntegerMax,

Базовый тип для NSUInteger меняется в зависимости от того, строится ли для 32 или 64 бит. Соответственно, стоимость NSUIntegerMax также изменяется в соответствии с типом.

- (NSUInteger)retainCount
{
    return NSUIntegerMax;  //denotes an object that cannot be released
}
Другие вопросы по тегам