С момента обновления последнего Xcode я начал получать следующую ошибку: «Неоднозначное использование индекса», связанное с этим фрагментом кода;Неоднозначное использование подстроки Swift iOS
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
var cell = tableView.dequeueReusableCellWithIdentifier("postsCell") as! CustomTableViewCell!
if cell == nil {
cell = CustomTableViewCell(style: UITableViewCellStyle.Default, reuseIdentifier: "postsCell")
}
let dict:NSDictionary = arrPosts[indexPath.row]
if let postResourceName = dict["resource_name"]![0] as! String? where !postResourceName.isEmpty {
cell?.customPostTitle?.text = String(htmlEncodedString: postResourceName)
} else if let postTitle = dict["title"]!["rendered"] as? String {
cell?.customPostTitle?.text = String(htmlEncodedString: postTitle)
}
В частности, на этой линии;
if let postResourceName = dict["resource_name"]![0] as! String? where !postResourceName.isEmpty {
Я совершенно новый для Swift, я считаю, что это связанно с отсутствием деталей вокруг переменного типа, поэтому ошибка броска. Но я не уверен, что должен делать код.
Любые указатели?
С уважением, Майкл
Неоднозначное использование индекса означает, что компилятор не может вывести соответствующего типа, поскольку значение из словаря всегда 'AnyObject '. Как объявляется «arrPosts»? И если вы новичок в Swift (повторно), внимательно прочитайте абзац «Необязательное связывание» в руководстве по языку. – vadian
Начальная переменная для arrPosts определяется следующим образом; var arrPosts = [[String: AnyObject]]() –