2017-06-06 13 views
0

私はちょうど3.0を開始します。私はこのエラーを得た、「CFDictionarySetValue」の機能にvalue.Whenにコード実行を設定するCFDictionaryを定義しよう:EXC_BAD_ACCESS(コード= 1、アドレス= 0x7e8)Swift 3.0を使用したCFDictionaryの設定値

var keyCallBacks = kCFTypeDictionaryKeyCallBacks 
    var valueCallBacks = kCFTypeDictionaryValueCallBacks 
    let query = CFDictionaryCreateMutable(kCFAllocatorDefault, 4, &keyCallBacks,&valueCallBacks) 

    var secClass = kSecClass 
    var genericPassword = kSecClassGenericPassword 
    CFDictionarySetValue(query,&secClass, &genericPassword) 


    var attrCount = kSecAttrAccount 
    var accountStr = "nothing_account" as CFString 
    CFDictionarySetValue(query, &attrCount, &accountStr) 

答えて

0

使用する必要はありませんCF..コレクション型を作成するための面倒な構文、あなたはスウィフトDictionaryとして辞書を宣言する可能性が - あなたは明示的に注釈を付けるとStringにキーを埋めるために持っている - 例えばCFDictionaryに辞書を橋渡し:

let query : [String: Any] = [kSecClass as String : kSecClassGenericPassword, 
          kSecAttrAccount as String : "nothing_account"] 

var result : CFTypeRef? 
let status = SecItemCopyMatching(query as CFDictionary, &result) 
関連する問題