簡體   English   中英

如何在Swift中獲取存儲在NSMutableArray中的NSDictionary元素?

[英]How to fetch elements of NSDictionary stored in an NSMutableArray in Swift?

我通過以下方法將聯系人存儲為字典在可變數組上:

 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是我的可變數組,其中包含名稱和數字作為字典。 像這樣 :

 arrOfDictContacts = ({ my = 12131;}, { doctor = 54445;}, { AL = 543212601;},  { customer = 121; } }

現在我有另一個名稱數組

arrOfNames = [my, AL]

我想從arrOfDictContacts獲取arrOfNames的相應編號

預期輸出:

  arrOfNumbers = [12131, 543212601]  

我怎樣才能做到這一點?

編輯:

由於您的數組包含字典,執行此操作的方法是對照數組檢查每個字典。 如下所示:

var arrOfNumbers : [String] = []
for dict in arrOfDictContacts {
    for name in arrOfNames {
        if let value = dict[name] as? String {
            arrOfNumbers.append(value)
        }
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM