Отсутствует функция 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"))")
Другие вопросы по тегам