Предупреждение компилятора Swift — методу экземпляра потребовалось ### мс для проверки типа (ограничение: 100 мс)

#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 .