2011-03-29 13 views
1

MonoTouch C#を使用してiPhoneの連絡先から携帯電話番号と職場番号を取得するにはどうすればよいですか?私はこのコードを使用しましたMonoTouchを使用してiPhone連絡先から携帯電話番号と職場番号を取得するにはどうすればよいですか?

ABMultiValue<String> phoneMV = person.GetPhones(); 
String[] phoneval = phoneMV.GetValues(); 
for(int i = 0; i< phoneval.Length; i++) { 
Console.WriteLine(phoneval[i]); 
} 

しかし、それは連絡先番号のすべての値を印刷します。連絡先から特定の属性を取得する方法は?たとえば、私は携帯電話や仕事用の番号、自宅や仕事用の電子メールIDが必要です。私はすべての価値を望んでいません。これを達成する方法は?

答えて

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); 
+0

連絡先からのアドレスの取得方法は?私は連絡先からすべての値を得ました。しかし、私はアドレスを取得できません。 – bharath

+0

アドレスは全く同じです。 ABPerson.GetAddresses()はABPerson.GetPhones()に似た 'IEnumerable >'を(実質的に)返すので、 'ABMultiValueEntry .Label'を"正しい "アドレス(仕事、自宅など)にチェックします。 )。 'ABMultiValueEntry .Value'はアドレスを含み、キーはアドレス部分であり、値はアドレス値です。 http://www.go-mono.com/docs/index.aspx?link=T%3aMonoTouch.AddressBook.ABPersonAddressKeyを参照してください。 – jonp

関連する問題