我需要从联系人JSON响应中提取数据

时间:2018-12-24 06:42:16

标签: ios swift tableview contacts

我正在尝试从联系人中获取数据,我需要将其传递到tableview中,我已经使用了firstName,LastName和phoneNumber。我正在获取一个电话号码数组,但我不知道如何从响应中获取特定的电话号码。请帮助我。

我已粘贴回复以供您参考。

[<CNContact: 0x155e8c1b0: identifier=DD78D98D-3ECD-4743-8FBB-AF67CC544BB7, givenName=S, familyName=Jerry Mom, organizationName=(null), phoneNumbers=(
"<CNLabeledValue: 0x280c8b200: identifier=10BB271D-611B-4D15-A452-BC553B79A9BF, label=_$!<Mobile>!$_, value=<CNPhoneNumber: 0x2816469c0: stringValue=+917904619229, initialCountryCode=(null)>>"

) 一组联系人的响应,然后继续.. 我需要从数组中单独获取这个数字917904619229,然后将其解析为label。

我已加载表解析以供您参考。

 let contactsList = contacts[indexPath.row]
        let cell = tableView.dequeueReusableCell(withIdentifier: "cell2") as? contactListCell
        cell?.profileName.text = contactsList.familyName
        cell?.profileCountry.text = "\(contactsList.phoneNumbers)"
        return cell!
 }

使用此"\(contactsList.phoneNumbers)"将整个数组加载到标签中。

[<CNContact: 0x155e8c1b0: identifier=DD78D98D-3ECD-4743-8FBB-AF67CC544BB7, givenName=S, familyName=Jerry Mom, organizationName=(null), phoneNumbers=(
"<CNLabeledValue: 0x280c8b200: identifier=10BB271D-611B-4D15-A452-BC553B79A9BF, label=_$!<Mobile>!$_, value=<CNPhoneNumber: 0x2816469c0: stringValue=+91790989898984619229, initialCountryCode=(null)>>"

),emailAddresses =( ),postalAddresses =((未提取)>,!$ _,value =>“ ),emailAddresses =( ),postalAddresses =(未提取)>,>“ ),emailAddresses =( ),postalAddresses =(未提取)>,>“ ),emailAddresses =( ),postalAddresses =(未提取)>,>“ )

1 个答案:

答案 0 :(得分:0)

试试这个,像这样发布为json!

{
    familyName = "Jerry Mom";
    organizationName = nil;
    phoneNumbers =     (
                {
            initialCountryCode = "IN ";
            "stringValue" = "+917904619229 ";
        }
    );
}

for phoneNumber in phoneNumbers {
 if let phoneValue = phoneNumber.object(forKey: "stringValue") as? String {
        print(phoneValue)
   }
}

for phone in contact.phoneNumbers {
 if let phonValue = phone.value as? CNPhoneNumber {
    print(phonValue.stringValue)
  }
}