Работа с массивом [AnyObject], приведение типов

Если мы имеем дело с [AnyObject], мы можем делать привидение типов (casting) элементов или всего массива целиком.

//
// proSwift.ru
//

for item in toolbarItems { // тип item - AnyObject
      if let toolbarItem = item as? UIBarButtonItem {
      // используем в коде toolbarItem, которая уже типа UIBarButtonItem
   }
}

Или

//
// proSwift.ru
//

for toolbarItem in toolbarItems as! [UIBarButtonItem] { 
   // предпочтительно чтобы так и было - т.е. массив действительно содержал элементы типа UIBarButtonItem. Иначе - crash
   // используем в коде toolbarItem, которая уже типа UIBarButtonItem
}
// не можем использовать as? т.к. toolbarItem  не может быть nil

 

 

Метки:

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

*

Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.