【发布时间】:2018-04-25 15:45:09
【问题描述】:
我正在尝试添加与此问题相关的足够代码和信息。
我想使用本地联系人列表来获取电话号码。所以,我更喜欢使用 iOS9 及更高版本支持的“联系人”框架。
当我将这些委托方法添加到我的代码时。我从 Swift 头文件(ProjectName-Swift.h 文件)中收到错误消息。我在谷歌上搜索,但没有找到任何解决方案。我很确定,“联系人”框架导致了“导入循环”问题。有人有什么建议吗?
// Calling CNContactPickerViewController method
func clickedAdressBook() {
let contactPicker = CNContactPickerViewController()
contactPicker.delegate = self
self.present(contactPicker, animated: true, completion: nil)
}
// to handle ContactsDelegate delegate metods
extension MoneyTransferToGsmVC : ContactsDelegate {
}
为了解决这个问题,我创建了从 CNContactPickerDelegate 扩展而来的新协议。但是没用
import UIKit
import Foundation
import Contacts
import ContactsUI
protocol ContactsDelegate : CNContactPickerDelegate {
}
当我添加上述扩展时,我遇到了错误。
【问题讨论】:
-
信息不足。请不要只显示代码中的一些点点滴滴。找出所有重现问题所需的代码并显示它。 (例如,创建一个普通的新项目并添加足够的代码来自己重现问题,然后描述或发布该项目。)
-
嗨@matt,我无法粘贴所有代码/项目。我尝试用代码截断、屏幕截图和表达式来解释我的问题。我认为,您无法重现此问题,因为它的相关项目文件是“导入循环”。如果您想了解具体信息,可以询问。
-
我确实问过了。您使用了很多没有解释的类型名称。解释他们。
-
我添加了从 CNContactPickerDelegate 扩展而来的 ContactsDelegate 协议。
-
您希望 MoneyTransferToGsmVC 了解 ContactsDelegate 的问题吗?但它不能,因为你没有标记它
@objc。您的扩展名也是如此。没有标记@objc的内容对 Objective-C 是隐藏的。
标签: ios swift ios-contacts