Лучший способ очистить UITextField

> = 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

28
задан Brenden 22 July 2009 в 22:35
поделиться

3 ответа

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.

33
ответ дан 28 November 2019 в 03:20
поделиться

Я обычно делаю textFieldX.text = @ ""; просто для ясности. Это помогает мне помнить, что значение должно быть строкой и что я могу передать его всеми стандартными строковыми методами.

8
ответ дан 28 November 2019 в 03:20
поделиться

Строки всегда копируются в Objective-C, поэтому второй вариант, скорее всего, создает другую строку , а затем указав на него. В этом смысле я думаю, что вы правы.

Чтобы сыграть роль адвоката дьявола, я бы предположил, что компилятор оптимизирует вариант B, чтобы сделать что-то вроде варианта A в любом случае. Лично я бы всегда выбрал вариант B, потому что он более читабелен в том, что касается конечной операции, которую вы хотите выполнить.

ОБНОВЛЕНИЕ: Я не нашел способа достичь вашей цели другим способом, но вас может заинтересовать этот лакомый кусочек ( из Apple UITextField Docs ): в текстовом поле появится кнопка.

@property (неатомный) UITextFieldViewMode clearButtonMode

Обсуждение

Отображается стандартная кнопка очистки в правой части текстового поля как способ для пользователя удалить текст быстро. Эта кнопка появляется автоматически на основе установленного значения для этого свойства.

Значение по умолчанию для этого свойства - UITextFieldViewModeNever.

Я думаю, это позволит вам настроить функциональность для пользователя, чтобы очистить текстовое поле.

2
ответ дан 28 November 2019 в 03:20
поделиться