#swift #xcode #compile-time-type-checking
#swift #xcode #проверка типов во время компиляции
Вопрос:
После добавления
if urlString == nil || urlString!.count == 0
{
return
}
Для этой функции:
func selectItem(urlString: String?)
{
if urlString == nil || urlString!.count == 0
{
return
}
if let item: AVPlayerItem = self.getPlayerItem(for: urlString!)
{
self.playerQueue.replaceCurrentItem(with: item)
}
}
XCode начал жаловаться на длительную проверку типа:
Методу экземпляра ‘SelectItem (urlString:)’ потребовалось 100 мс для проверки типа (ограничение: 100 мс)
Комментарии:
1. Вы можете попробовать удалить первый
if
и сделать второй таким образом:if let urlString = urlString, !urlString.isEmpty, let item: AVPlayerItem = self.getPlayerItem(for: urlString)
2. Да. Но я все еще не понимаю, почему это занимает так много времени
3. Потому что сложность
String.count
естьO(n)
. Вместо этого вы должны проверитьString.isEmpty
.