2015-11-23 2 views
-3

Язык Swift Programming упоминает использование isEmpty для проверки пустой строки. Существуют ли случаи, когда проверка строки против "" не дает того же результата, что и использование isEmpty?Использование String isEmpty для проверки пустой строки

Другими словами:

if str.isEmpty { 
XCTAssert(str == "", "This should be true as well") 
} 

Из documentation:

выяснить, является ли пустое значение строки, проверяя его свойство Boolean IsEmpty:

if emptyString.isEmpty { 
    print("Nothing to see here") 
} 
+3

Я не понимаю, что вы имеете в виду: 'Будет ли проверка строки с равенством не делать то же самое?" 'Проверка строк для равенства определяет, являются ли они равными. Он не говорит, пусто или нет. Вы можете использовать только проверку равенства, чтобы определить, является ли строка пустой, если вы уже знаете, что другая будет пустой, но использование 'isEmpty', вероятно, является лучшей практикой, если это то, о чем вы действительно заботитесь (это более самодокументируется). – nhgrif

+1

Возможно, вопрос в том, что происходит под капотом? – Arc676

+0

@nhgrif Извините за путаницу - перефразируйте вопрос с примера. – Boon

ответ

5

пустая строка - единственная пустая строка, поэтому не должно быть случаев, когда string.isEmpty() не возвращает то же значение, что и string == "". Разумеется, они могут делать это в разное время и в памяти. Независимо от того, используют ли они разное количество времени и памяти, деталь детализации не описана, но isEmpty является предпочтительным способом проверки в Swift (как задокументировано).

Смежные вопросы