Отсутствует функция indexOf массива Swift 3
Когда я пытаюсь напечатать индекс массива, который содержит какой-либо объект. Это не говорит о indexOf
функция. Когда я пытаюсь ввести вручную, он показывает ошибку, которую я приложил скриншот.
Но это работает для Array of String. Может кто-нибудь, пожалуйста, помогите мне решить эту проблему?
Также здесь я показываю свой код
import UIKit
class ViewController: UIViewController {
var arrayOfAnyObject: [Any] = [Any]()
var arrayOfStringObject: [String] = [String]()
override func viewDidLoad() {
super.viewDidLoad()
print("Index of string object array \(arrayOfStringObject.index(of: "anyString")!)")
print("Index of any object array \(arrayOfAnyObject.index(of: "anyObject")!)")
// Do any additional setup after loading the view, typically from a nib.
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
}
1 ответ
Решение
Вы можете установить нужный тип в массиве (Int
, String
и т. д.) или преобразовать arrayOfAnyObject
в AnyObject
прежде чем сделать indexOf
, как это:
print("Index of any object array \((arrayOfAnyObject as AnyObject).index(of: "anyObject"))")