gpt4 book ai didi

cocoa-touch - 如何在不连接地址簿的情况下使用 ABPersonViewController

转载 作者:行者123 更新时间:2023-11-29 11:24:19 25 4
gpt4 key购买 nike

设置:我正在寻找有关在不从地址簿获取数据的情况下使用 ABPersonViewContoller 的见解。我有一个提供表格 View 的 JSON Web 服务,我将我的个人对象作为字典存储在 mutableArray 中。

我的问题:我一直在搜索,但找不到任何关于将 personViewController 与您自己的对象一起使用的引用。我可以初始化一个新的 personView 为它分配我的 person 对象并推送 Controller 吗?还是我最好滚动自己的 View 来复制苹果 View ?

更新:正如埃里克建议使用 ABRecordRef 作为我的对象,它确实有效。这是一个代码示例。

    // get index and set person object
int personIndex = [indexPath indexAtPosition: [indexPath length] - 1];
ABRecordRef person = ABPersonCreate();

ABRecordSetValue(person, kABPersonFirstNameProperty, [[personList objectAtIndex: personIndex] objectForKey: @"firstName"], nil);
ABRecordSetValue(person, kABPersonLastNameProperty, [[personList objectAtIndex:personIndex] objectForKey:@"lastName"], nil);

// initialize a personviewController
ABPersonViewController *personViewController = [[ABPersonViewController alloc] init];

personViewController.personViewDelegate = self;
personViewController.displayedPerson = person;
personViewController.allowsEditing = NO;

// push to view controller
[[self navigationController] pushViewController:personViewController animated:YES];
[personViewController release];

希望这对其他人有帮助。

最佳答案

ABPersonViewController 绑定(bind)到 iOS 设备的地址簿(与整个 Address Book UI Framework ),所以我相信滚动你自己的 UIViewController 会更容易得到什么你要。另外,the docs请注意“人物 View Controller 必须与导航 Controller 一起使用才能正常运行。”所以你(可能)在那里受到限制。

也就是说(我还没有尝试过),但是 displayedPerson 属性确实是 readwrite,所以我想如果您的数据存储在您的数组作为 ABRecordRef 它可能会起作用。

关于cocoa-touch - 如何在不连接地址簿的情况下使用 ABPersonViewController,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4209997/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com