如何使用MonoTouch c#从iPhone联系人获取手机号码和工作号码?我用过这段代码,
ABMultiValue<String> phoneMV = person.GetPhones();
String[] phoneval = phoneMV.GetValues();
for(int i = 0; i< phoneval.Length; i++) {
Console.WriteLine(phoneval[i]);
}
但它会打印所有联系号码的值。如何从联系人获取特定属性?例如,我需要移动和工作号码,家庭和工作电子邮件ID。我不想要所有的价值观。怎么做到这一点?
答案 0 :(得分:3)
ABMultiValue<T>是ABMultiValueEntry<T>值的集合。电话号码(工作,家庭等)的类型存储在ABMultiValueEntry<T>.Label属性中,您可以将其与例如ABLabel.Work:
IEnumerable<ABMultiValueEntry<string>> workPhoneEntries = person.GetPhones()
.Where(p => p.Label == ABLabel.Work);
IEnumerable<string> workNumbers = workPhoneEntries.Select(p => p.Value);