Неявное преобразование теряет целую точность: 'long long' до 'NSInteger' (aka 'int')

Я пытаюсь назначить переменную типа long long для типа NSUInteger. Каков правильный способ сделать это?

моя строка кода:

expectedSize = response.expectedContentLength > 0 ? response.expectedContentLength : 0; 

где expectedSize имеет тип NSUInteger и возвращает тип response.expectedContentLength имеет тип « long long ». response переменной имеет тип NSURLResponse .

Отображаемая ошибка компиляции:

Семантическая проблема: неявное преобразование теряет целую точность: «длинный» до «NSUInteger» (aka «unsigned int»)

Это действительно просто актерский состав с некоторой проверкой диапазона:

 const long long expectedContentLength = response.expectedContentLength; NSUInteger expectedSize = 0; if (NSURLResponseUnknownLength == expectedContentLength) { assert(0 && "length not known - do something"); return errval; } else if (expectedContentLength < 0) { assert(0 && "too little"); return errval; } else if (expectedContentLength > NSUIntegerMax) { assert(0 && "too much"); return errval; } // expectedContentLength can be represented as NSUInteger, so cast it: expectedSize = (NSUInteger)expectedContentLength; 

вы можете попробовать преобразование с помощью NSNumber:

  NSUInteger expectedSize = 0; if (response.expectedContentLength) { expectedSize = [NSNumber numberWithLongLong: response.expectedContentLength].unsignedIntValue; } 
  • Схема iOS отсутствует, когда я ввожу свой проект (XCode 4.2)
  • Как инициализируется представление при загрузке через раскадровку?
  • Как создать шаблоны проектов в Xcode 4.2
  • Панель поиска не работает iPhone Xcode 4.2
  • Кто-нибудь удалось отправить SpeakHere для ARC?
  • Эффект кисти GLPaint с размытием и скосом
  • Профиль не соответствует Идентификатор приложения com.domainname.helloworld
  • Помощь в помощи калькулятора iPhone, десятичный стиль.
  • Прохождение пути каталога документов к скриптам запуска xcode
  • NSUnknownKeyException - setValue: forUndefinedKey в файле класса
  • Имитировать местоположение, включая перемещение в Xcode 4.2 / iOS5
  • Давайте будем гением компьютера.