私はちょうどスウィフト3に私のスウィフト2プロジェクトを更新していると私はアドレス帳のクエリに問題を抱えている:Swift3:ABSearchElementクラッシュ
import Cocoa
import AddressBook
let firstName:String = "John"
let lastName:String = "Appleseed"
let addressBook = ABAddressBook.shared()
let firstNameSearch = ABPerson.searchElement(forProperty: kABFirstNameProperty,
label: nil,
key: nil,
value: firstName,
comparison: ABSearchComparison(kABEqualCaseInsensitive.rawValue))
let lastNameSearch = ABPerson.searchElement(forProperty: kABLastNameProperty,
label: nil,
key: nil,
value: lastName,
comparison: ABSearchComparison(kABEqualCaseInsensitive.rawValue))
let comparisons = [firstNameSearch, lastNameSearch]
let andComparison = ABSearchElement(forConjunction: CFIndex(kABSearchAnd.rawValue), children: comparisons)
let peopleFound = addressBook?.records(matching: andComparison) as! [ABRecord]
if peopleFound.count > 0
{
let contact = peopleFound[0]
}
それは、このエラーで
2016-クラッシュです09-15 12:59:02.657 com.apple.dt.Xcode.PlaygroundStub-macosx [37940:8204350] - [_ SwiftValue searchRecordClasses]:インスタンスに送信された認識できないセレクタ0x7fc098ec9600 2016-09-15 12:59:02.658 com.apple .dt.Xt.Xcode.PlaygroundStub-macosx [37940:8204350]未知の例外が発生しました 2016-09-15 12:59:02.658 com.apple.dt.Xcode.PlaygroundSt UB-MacOSXの[37940:8204350] - [_ SwiftValue searchRecordClasses]:この行を実行するときに認識されていないセレクタはインスタンスに0x7fc098ec9600
を送っ:
let andComparison = ABSearchElement(forConjunction: CFIndex(kABSearchAnd.rawValue), children: comparisons)
が更新スウィフト3のコードがどうあるべきか、誰を知っていますか?
パーフェクト:
は、このようなあなたの
comparisons
を変更してみてください。それはそれを修正! – iphaaw