0
我最近升級到XCode 6.3,我試圖根據Apple文檔啓動一個ODQuery並收到錯誤。蘋果Swift代碼創建錯誤
'詮釋' 是無法轉換爲 'ODMatchType'
我使用蘋果自己的文檔Open Directory Programming Guide
這裏是我的銀行代碼:
var err:NSError?
var session = ODSession.defaultSession()
var node = ODNode(session: session, name: "/Local/Default", error: &err)
var query = ODQuery(node: node, forRecordTypes: kODRecordTypeUsers, attribute: kODAttributeTypeRecordType, matchType: kODMatchContains, queryValues: "darren", returnAttributes: kODAttributeTypeStandardOnly, maximumResults: 10, error: &err)?
這個問題似乎是否kODMatchContains或任何其他被嘗試的matchType與Swift 1.2函數不兼容?
如果有人知道發生了什麼,或者您可以自己嘗試6.3中的代碼並獲得相同的結果,請告訴我。
這是從我的投訴確實沒有什麼不同的位置:http://stackoverflow.com/questions/24108827/swift-numerics-and- cgfloat-cgpoint-cgrect-etc ODMatchType是UInt32,但'kODMatchContains'是一個Int。因此,您不能使用預期的另一個,因爲數字類型之間不存在隱式強制;你必須強迫_explicitly_預期的類型。當API似乎故意將錯誤的類型交給你時,它尤其令人生氣。 – matt
是的,這是文檔的狀態,但是這會在我的所有測試中產生錯誤。 – Ecks
它會產生_different_錯誤。我回答了你問的問題。很顯然,你必須在整個事情結束時刪除那個奇怪的問號。它曾經在那裏做過一個謎...... – matt