Когда должен я использовать примитивы в Objective C вместо NSValue
подклассы? Этот код является, конечно, инструментом для очистки (я думаю), чем использование NSNumber:
float width = sliderOne.frame.size.width;
float totalWidth = width * 2 + 10;
но есть ли какие-либо недостатки? Кроме того, это корректный, который я не должен называть release
или что-нибудь с примитивами? Память становится освобожденной, когда они выходят из объема, затем?
Основные типы являются предпочтительными. Используйте объекты NSNumber и NSValue только тогда, когда вам нужно передать их как объект.
Единственный недостаток примитивных типов состоит в том, что вы не можете передавать их как объект.
Примитивные типы могут быть размещены в стеке (локальные переменные) или в куче (с malloc). Объекты можно размещать только в куче, что дороже, чем выделение стека.
Все, что вам удобнее использовать в вашем собственном коде, но обычно вы будете использовать NSw независимо, когда это нужно передать в какой-то API.
Основной недостаток использования примитивных типов в том, что их нельзя хранить в NSArray.