class ListViewController: UITableViewController, UISearchResultsUpdating {
var list = [MovieVO]()
var filteredlist = [MovieVO]()
var resultSearchController = UISearchController()
func updateSearchResultsForSearchController(searchController: UISearchController)
{
self.filteredlist.removeAll(keepCapacity: false)
let searchPredicate = NSPredicate(format: "title CONTAINS[c] %@", searchController.searchBar.text!)
let array = (self.list as NSArray).filteredArrayUsingPredicate(searchPredicate)
self.filteredlist = array as! [String] => Cannot assign a value of type '[String]' to a value of type '[MovieVO]'
self.tableView.reloadData()
}
0
A
ответ
1
Вы определили self.filteredlist
как Swift массив MovieVO
типов, так что нет, вы не можете присвоить ему массив из String
типов. Попробуйте применить его к типу MovieVO
или иным образом преобразовать его в этот тип (возможно, было бы полезно увидеть ваше определение MovieVO
).
1
Вы объявили filteredlist
как массив MovieVO
когда вы сделали:
var filteredlist = [MovieVO]()
Так что не может принять [String]
, только [MovieVO]
.
Я думаю, вместо литья ваш NSArray к [String]
вы хотите, чтобы бросить его обратно [MovieVO]
:
self.filteredlist = array as! [MovieVO]
И, чтобы избежать аварии, заменить это вынужденное отливать с дополнительным обязательным:
if let movies = array as? [MovieVO] {
self.filteredlist = movies
}
Смежные вопросы
- 1. Невозможно присвоить значение типа String! к значению типа String,
- 2. Невозможно присвоить значение типа AnyObject к значению типа String,
- 3. Невозможно присвоить значение типа '[NSObject: AnyObject]' значению типа '[String: AnyObject]!'
- 4. Невозможно присвоить значение типа '[(String)]' значению типа 'String!'?
- 5. Невозможно присвоить значение типа '(UInt32)' значению типа 'String?'
- 6. Swift - Невозможно присвоить значение типа «AEWebServices.Type» значению типа NSXMLParserDelegate?
- 7. Swift: Невозможно присвоить значение типа «Любое» значению типа «AnyObject?»
- 8. Невозможно присвоить значение типа '[UIImage?]' Значению типа 'String'
- 9. Swift: Невозможно присвоить значение типа 'int' значению типа 'int?' Ошибка
- 10. Невозможно присвоить значение типа «GeoPoint?» к значению значения типа «AnyObject»?
- 11. Swift: Невозможно присвоить значение типа [CombinedChartView.DrawOrder] к значению [Int]
- 12. Ошибка: Невозможно присвоить значение типа «AnyObject?» к значению типа «NSURL»
- 13. Невозможно присвоить значение типа «NSData!» к значению типа «AnyObject»?
- 14. Невозможно присвоить значение типа «[AnyObject]» к значению типа '[String] Swift 2
- 15. Невозможно присвоить значение типа «NSArray» к значению типа '[AnyObject]
- 16. Нельзя присвоить значение типа 'int' значению типа 'String?'
- 17. Невозможно присвоить значение типа NSDictionary значению типа NSDictionary
- 18. Невозможно присвоить значение типа '[Thing]' значению типа '[Any]'
- 19. Невозможно присвоить значение типа «PFObject» значению «PFObject!», Swift, Xcode
- 20. Нельзя присвоить значение типа «MDLMaterialProperty ?!» к значению типа «Int»
- 21. Невозможно присвоить значение типа 'String?' для типа 'String'
- 22. Невозможно присвоить значение типа «MyClass» значению типа «MFMailComposeViewControllerDelegate!»
- 23. SWIFT: Невозможно присвоить значение типа .../SwiftyJSON
- 24. Невозможно присвоить значение типа «[String: AnyObject]
- 25. Невозможно присвоить значение типа '[AnyObject]' значению типа '[UIViewController]?'
- 26. Swift Нельзя присвоить значение типа 'CGPath' значению типа 'CGPath?'
- 27. Невозможно присвоить значение типа String типу UILabel
- 28. Нельзя присвоить значение типа «AnyObject?» к значению типа 'String!' - Swift с Parse
- 29. Невозможно присвоить значение типа '[[String: AnyObject]]' к типу '[[String: AnyObject]]
- 30. Невозможно присвоить значение типа
вы можете Напишите здесь решенный код? я прошу прощения. я не понимаю вашего ответа. пожалуйста помогите. –
Нечего добавить, фиксированный код уже в моем ответе. Прочтите внимательно. :) – Moritz