«... вы почти никогда не должны использовать класс NSString непосредственно в свой собственный код»Swift Строки и NSString Инициализаторы
Выдержки От: Apple Inc. «Использование Swift с какао и Objective-C.» iBooks. https://itun.es/us/1u3-0.l
Несмотря на это смелое заявление, я думаю, что нашел ситуацию, когда мне нужен NSString. Например, рассмотрите этот кодовый блок:
NSString(
contentsOfURL: NSURL(string: "http://api.stackexchange.com/answers?site=stackoverflow"),
encoding: NSUTF8StringEncoding,
error: &error)
Я не могу сделать это с помощью строки Swift, правильно? В любом случае это не работает:
String(
contentsOfURL: NSURL(string: "http://api.stackexchange.com/answers?site=stackoverflow"),
encoding: NSUTF8StringEncoding,
error: &error) //Compiler error
Так что я должен использовать NSString здесь? Или есть еще один предпочтительный способ сделать это в Свифт?
Чтобы быть справедливым, вы действительно не должны использовать 'NSString + contentsOfURL: ...', потому что он выполняет синхронный сетевой запрос. Вместо этого используйте 'NSURLSession dataTaskWithURL: completeHandler:'. – mattt