通过索引从数组中获取对象,即从另一个数组中获取

Posted

技术标签:

【中文标题】通过索引从数组中获取对象,即从另一个数组中获取【英文标题】:Get object from array by index, that is getting from another array 【发布时间】:2016-11-24 10:54:25 【问题描述】:

有两个数组:idArrayInt 和 nameArrayString。我需要通过索引从第一个数组中获取一个对象,该对象是从第二个数组中获取的。我知道这很简单,但是我是 ios 开发的新手,不明白如何实现它。

var idArray = [Int]() //for example 1 2 3
var nameArray = [String]() // for example "one" "two" "three"
var ident: Int!

@IBAction func btnNext_click(_ sender: AnyObject) 

var nameString = lblUnitType.text
var index = nameArray.index(of: nameString) //Cannot invoke 'index' with an argument list of type '(of: String?)' 
ident = idArray[index] //something like that by I don't sure     

【问题讨论】:

听起来你最好使用字典而不是数组 或自定义结构的数组,仅包含 ID 和名称 【参考方案1】:

lblUnitType.textindex(of: 的结果是可选的,您需要使用可选绑定将它们展开:

if let nameString = lblUnitType.text, let index = nameArray.index(of: nameString), index < idArray.count  
    ident = idArray[index] 

【讨论】:

@NiravD 谢谢,我添加了一个 where 子句【参考方案2】:

您可以在如图所示的游乐场中学习。

此外,在您的情况下,您可以参考字典。

【讨论】:

以上是关于通过索引从数组中获取对象,即从另一个数组中获取的主要内容,如果未能解决你的问题,请参考以下文章

如何从另一个数组中获取具有批准 ID 的项目?地图()过滤器()还是?

如何从另一个数组中获取数组

如何从另一个数组中的数组中获取数据,该数组在 Java 中存储值?

从对象数组中获取索引

通过属性值从对象数组中获取JavaScript对象[重复]

通过属性值从对象数组中获取JavaScript对象[重复]