- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试使用 peoplePicker 访问姓名、电话等数据,我有以下功能:
func peoplePickerNavigationController(peoplePicker: ABPeoplePickerNavigationController, didSelectPerson person: ABRecordRef) {
let phone: ABMultiValueRef? = ABRecordCopyValue(person, kABPersonPhoneProperty)?.takeRetainedValue()
let name: ABMultiValueRef? = ABRecordCopyValue(person, kABPersonFirstNameProperty)?.takeRetainedValue()
if (ABMultiValueGetCount(name) > 0) {
let indexName = 0 as CFIndex
let name = ABMultiValueCopyValueAtIndex(name, indexName).takeRetainedValue() as! String
print("name of selected contact = \(name)")
} else {
print("No name")
}
if (ABMultiValueGetCount(phone) > 0) {
let indexPhone = 0 as CFIndex
let phone = ABMultiValueCopyValueAtIndex(phone, indexPhone).takeRetainedValue() as! String
print("phone for selected contact = \(phone)")
} else {
print("No phone")
}
}
它适用于手机,但给我一个联系人姓名错误线程 1:EXC_BAD_ACCESS (code=EXC_I386_GPFLT)
,为什么?
编辑:屏幕截图
解决方案:
let name = ABRecordCopyValue(person, kABPersonFirstNameProperty)?.takeRetainedValue()
if (name as! String != "") {
print("name of selected contact = \(name)")
} else {
print("No name")
}
最佳答案
只是一个假设。
ABMultiValueGetCount
接受 ABMultiValueRef!
类型的参数当你经过它时name
有这种类型 ABMultiValueRef?
.
在 Swift 中这不是问题,但这些函数已桥接到 C,因此让我们尝试修复此不一致问题。
请在此行
let name: ABMultiValueRef? = ABRecordCopyValue(person, kABPersonFirstNameProperty)?.takeRetainedValue()
替换?
有了这个!
,如下所示:
let name: ABMultiValueRef! = ABRecordCopyValue(person, kABPersonFirstNameProperty)?.takeRetainedValue()
请告诉我它是否有效。
关于ios - Swift - 从 peoplePickerNavigationController 访问名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35434989/
我正在尝试捕捉联系人姓名的点击,并从那里获取联系信息。而不是点击联系人的信息并从那里点击一个字段。 我能够获取所有需要的数据,但只有在点击联系人后才能获取。这是我当前的代码: -(IBAction)b
概述:当人们使用 peoplePicker 并点击姓名时,我试图获取电话号码和全名。然后,我想在文本字段上显示全名并将电话号码保存为字符串。使用 ph num 和名称,我打算将其用作唯一标识。我不想使
我遇到了一个小问题 - (顺便说一句,我看过 How can I present a modal view controller after selecting a contact?但这对我没有帮助)
我正在尝试使用 peoplePicker 访问姓名、电话等数据,我有以下功能: func peoplePickerNavigationController(peoplePicker: ABPeople
我正在尝试获取选定的手机号码 ABMultiValueRef phones = ABRecordCopyValue(person, property); CFStringRef phoneNumber
我是一名优秀的程序员,十分优秀!