> = ES6:
Number.MIN_SAFE_INTEGER;
Number.MAX_SAFE_INTEGER;
< = ES5
От ссылка :
Number.MAX_VALUE;
Number.MIN_VALUE;
console.log('MIN_VALUE', Number.MIN_VALUE);
console.log('MAX_VALUE', Number.MAX_VALUE);
console.log('MIN_SAFE_INTEGER', Number.MIN_SAFE_INTEGER); //ES6
console.log('MAX_SAFE_INTEGER', Number.MAX_SAFE_INTEGER); //ES6
Personally I would think less of the memory usage here and more on code-maintainability.
To me, It makes sense that a label always has a string. In the future someone might try to append a labels value, save it in a database, wrap it in xml, etc. An empty NSString in this case makes much more sense to me that a 0x0.
Я обычно делаю textFieldX.text = @ "";
просто для ясности. Это помогает мне помнить, что значение должно быть строкой и что я могу передать его всеми стандартными строковыми методами.
Строки всегда копируются в Objective-C, поэтому второй вариант, скорее всего, создает другую строку , а затем указав на него. В этом смысле я думаю, что вы правы.
Чтобы сыграть роль адвоката дьявола, я бы предположил, что компилятор оптимизирует вариант B, чтобы сделать что-то вроде варианта A в любом случае. Лично я бы всегда выбрал вариант B, потому что он более читабелен в том, что касается конечной операции, которую вы хотите выполнить.
ОБНОВЛЕНИЕ: Я не нашел способа достичь вашей цели другим способом, но вас может заинтересовать этот лакомый кусочек ( из Apple UITextField Docs ): в текстовом поле появится кнопка.
@property (неатомный) UITextFieldViewMode clearButtonMode
Обсуждение
Отображается стандартная кнопка очистки в правой части текстового поля как способ для пользователя удалить текст быстро. Эта кнопка появляется автоматически на основе установленного значения для этого свойства.
Значение по умолчанию для этого свойства - UITextFieldViewModeNever.
Я думаю, это позволит вам настроить функциональность для пользователя, чтобы очистить текстовое поле.