【问题标题】:IB outlet collection do not have indexOfObjectIB 出口集合没有 indexOfObject
【发布时间】:2014-10-13 09:29:54
【问题描述】:

为什么IB出口集合是数组时没有对象方法的索引?我做错了什么?

@IBOutlet var textFieldsCollection: [UITextField]!

self.textFieldsCollection.indexOfObject(textField)

结束错误是这样的:Text.swift:30:18: '[UITextField]' does not have a member named 'indexOfObject'

【问题讨论】:

标签: ios swift


【解决方案1】:

由于 swift 数组可以包含非类类型,indexOfObject 可能过于模糊。您也可以使用find 函数查找对象的索引。

var textFieldsCollection: [UITextField]!
var myTextField = UITextField()

var index = find(textFieldsCollection, myTextField)

【讨论】:

  • 感谢您的好回答!也许您知道 objectAdIndex 方法的替代方法?我又找不到了。
  • 我想这是另一种选择。 indexOfObject 不能像在 NSArray 中那样工作,因为 NSArray 中的所有对象都是类类型,并且通过引用进行比较。 Swift 数组可以包含结构体和枚举,它们是值类型,只能通过值进行比较。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-03-11
  • 1970-01-01
  • 2020-10-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多