誰でも.. 私は基本的にABAddressBook
と連絡先のデータを扱うiPhone用のアプリを開発しようとしています... 私の目標は、すべての連絡先データ(最初のステップ、名前、電話機)電子メールでファイルに..今xcodeの連絡先データ
、私は連絡先データに到達しようとしている、と私は2つの異なるアレイ、名前と電話アレイに追加したい...まず
、私は私はボタンを押したときに画面内のすべてのデータを参照しようとすると "連絡先を表示"。データは画面に表示されます。 2番目のボタン「連絡先を送信」を押すと、ファイルを電子メールアカウントに送信する必要があります。これは私のアプリケーションの動作方法です。
画面にデータを表示する際に問題が発生します。 ..私は何かを書いたが、それはテキストビューの画面上に何も与えていない。 この問題を解決するのに手伝ってもらえますか?ここで
は、連絡先(listCon法)をリストするためのコードです:ちょうどあなたのコードを一瞥
-(IBAction)listCon:(id)sender
{
NSMutableArray *names = [[NSMutableArray alloc] init];
NSMutableArray *numbers1= [[NSMutableArray array] init];
NSMutableArray *numbers2= [[NSMutableArray array] init];
NSMutableArray *numbers3= [[NSMutableArray array] init];
ABAddressBookRef addressBook = ABAddressBookCreate();
if (addressBook != nil)
{
NSLog(@"Successfully accessed the address book.");
CFArrayRef allPeople = ABAddressBookCopyArrayOfAllPeople(addressBook);
CFIndex nPeople= ABAddressBookGetPersonCount(addressBook);
NSUInteger peopleCounter = 0;
for (peopleCounter = 0;peopleCounter < nPeople; peopleCounter++)
{
ABRecordRef thisPerson = CFArrayGetValueAtIndex(allPeople,peopleCounter);
NSString *contactFirstLast = [NSString stringWithFormat:@"%,%",ABRecordCopyValue(thisPerson, kABPersonFirstNameProperty), ABRecordCopyValue(thisPerson,kABPersonLastNameProperty)];
[names insertObject:contactFirstLast atIndex:peopleCounter];
ABMultiValueRef phoneNumbers = ABRecordCopyValue(thisPerson,kABPersonPhoneProperty);
NSString *firstPhone = (__bridge_transfer NSString*) ABMultiValueCopyValueAtIndex(phoneNumbers, 0);
NSString *secondPhone = (__bridge_transfer NSString*) ABMultiValueCopyValueAtIndex(phoneNumbers, 1);
NSString *thirdPhone = (__bridge_transfer NSString*) ABMultiValueCopyValueAtIndex(phoneNumbers, 2);
[numbers1 insertObject:firstPhone atIndex:peopleCounter];
[numbers2 insertObject:secondPhone atIndex:peopleCounter];
[numbers3 insertObject:thirdPhone atIndex:peopleCounter];
}
}
myView.text=[names componentsJoinedByString:@"\n\n"];
myView.text=[numbers1 componentsJoinedByString:@"\n\n"];
myView.text=[numbers2 componentsJoinedByString:@"\n\n"];
myView.text=[numbers3 componentsJoinedByString:@"\n\n"];
}