1

ABPersonViewController編集可能モードで開いていません。ブレークポイントを使用すると、コントロールがデリゲートメソッドに到達しません。問題はどこだ?これが私のコードです:

-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {

    //名簿を取得します
    if((people!= nil)&& [people count])

    {ABAddressBookRef addressBook = ABAddressBookCreate();
        // ABPersonViewController * personController = [[ABPersonViewController alloc] initWithNibName:@ "ABPersonViewController" bundle:nil];

        ABRecordRef person =(ABRecordRef)[people objectAtIndex:indexPath.row];     
        ABPersonViewController * personController = [[[ABPersonViewController alloc] init] autorelease];

        personController.addressBook = addressBook;
        personController.personViewDelegate = self;
        personController.displayedPerson = person;
        personController.allowsEditing = YES;       
        // NavigationController = [[UINavigationController alloc] init];
        [自己presentModalViewController:personControllerアニメーション:YES];
        //[self.navigationController pushViewController:personControllerアニメーション:YES];
        //[personControllerリリース];   
    }   
    そうしないと
    {{
        //「KETAN」が連絡先にない場合にアラートを表示します
        UIAlertView * alert = [[UIAlertView alloc] initWithTitle:@"エラー"
                                                        メッセージ:@"連絡先アプリケーションでnainaが見つかりませんでした"
                                                       デリゲート:nil
                                              cancelButtonTitle:@"キャンセル"
                                              otherButtonTitles:nil];
        [アラートショー];
        [アラートリリース];
    }
    [人々が解放する];

}



-(BOOL)personViewController:(ABPersonViewController *)personViewController shouldPerformDefaultActionForPerson:(ABRecordRef)person
                    プロパティ:(ABPropertyID)プロパティ識別子:(ABMultiValueIdentifier)identifierForValue
{{
    NOを返します。
}
4

1 に答える 1

0

編集可能モードに関しては正しい軌道に乗っています。ABPersonViewControllerただし、最初にナビゲーション コントローラーからをプッシュする必要があります(ドキュメントを参照) 。

于 2012-01-10T03:03:46.503 に答える