首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Swift中获取存储在NSDictionary中的NSMutableArray元素?

如何在Swift中获取存储在NSDictionary中的NSMutableArray元素?
EN

Stack Overflow用户
提问于 2015-09-08 09:23:49
回答 1查看 653关注 0票数 0

通过这种方法,我已经将联系人作为字典存储在可变数组上:

代码语言:javascript
复制
 var addressBookReff: ABAddressBookRef = ABAddressBookCreateWithOptions(nil, nil).takeRetainedValue()
    var arrOfDictContacts:NSMutableArray = NSMutableArray()
    let people:NSArray = ABAddressBookCopyArrayOfAllPeople(addressBookReff).takeRetainedValue()
    for person in people{
        if  let name:String = ABRecordCopyValue(person, kABPersonFirstNameProperty)?.takeRetainedValue() as? String {
            let numbers:ABMultiValue = ABRecordCopyValue(person, kABPersonPhoneProperty).takeRetainedValue()
            if let number:String = ABMultiValueCopyValueAtIndex(numbers,0)?.takeRetainedValue() as? String {
                arrOfDictContacts.addObject(["\(name)":"\(number)"])
            }
        }
    }

在这里,arrOfDictContacts是我的可变数组,它包含作为字典的名称和数字。就像这样:

代码语言:javascript
复制
 arrOfDictContacts = ({ my = 12131;}, { doctor = 54445;}, { AL = 543212601;},  { customer = 121; } }

现在我有了另一个数组的名字

代码语言:javascript
复制
arrOfNames = [my, AL]

我想从arrOfNames获得arrOfDictContacts的相应号码

ExpectedOutput :

代码语言:javascript
复制
  arrOfNumbers = [12131, 543212601]  

我该怎么做?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-09-08 09:52:52

编辑:

因为您的数组包含字典,所以实现它的方法是检查每个字典与您的数组。如下所示:

代码语言:javascript
复制
var arrOfNumbers : [String] = []
for dict in arrOfDictContacts {
    for name in arrOfNames {
        if let value = dict[name] as? String {
            arrOfNumbers.append(value)
        }
    }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32453969

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档