2016-09-15 4 views
0

난 그냥 스위프트 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.Xcode.PlaygroundStub-macosx [37940 : 8204350] 잡히지 않은 예외가 발생했습니다. 2016-09-15 12 : 59 : 02.658 com.apple.dt.Xcode.PlaygroundSt UB-에서라도 [37940 : 8204350] - [_ SwiftValue searchRecordClasses] : 인식 할 수없는 선택기 인스턴스에 전송 0x7fc098ec9600

이 줄을 실행할 때 :

let andComparison = ABSearchElement(forConjunction: CFIndex(kABSearchAnd.rawValue), children: comparisons) 

사람이 업데이트 된 스위프트 3 코드가 있어야한다 알고 있나요을?

답변

1

_SwiftValue은 일부 옵션을 Any으로 전달할 때 자주 발생합니다.

에 한번 당신의이 같은 comparisons 변경 :

let comparisons = [firstNameSearch!, lastNameSearch!] 
+0

완벽한합니다. 그것은 그것을 고쳤다! – iphaaw