
Could not find an overload for ‘init’ that accepts the supplIEd arguments
这是我正在使用的代码:
var keychainquery: NSMutableDictionary = NSMutableDictionary(objects: [kSecclassGenericPassword,service,userAccount,kcfBooleanTrue,kSecMatchlimitOne],forKeys: [kSecclass,kSecAttrService,kSecAttrAccount,kSecReturnData,kSecMatchlimit])
知道是什么原因引起的吗?
完整的代码:
import UIKitimport Securitylet serviceIDentifIEr = "MySerivice"let userAccount = "authenticatedUser"let accessGroup = "MySerivice"class KeychainService: NSObject { class func savetoken(token: Nsstring) { self.save(serviceIDentifIEr,data: token) } class func loadToken() -> Nsstring? { var token = self.load(serviceIDentifIEr) return token } class func save(service: Nsstring,data: Nsstring) { var dataFromString: NSData = data.dataUsingEnCoding(NSUTF8StringEnCoding,allowLossyConversion: false) // Instantiate a new default keychain query var keychainquery: NSMutableDictionary = NSMutableDictionary(objects: [kSecclassGenericPassword,dataFromString],kSecValueData]) // Delete any existing items SecItemDelete(keychainquery as CFDictionaryRef) // Add the new keychain item var status: Osstatus = SecItemAdd(keychainquery as CFDictionaryRef,nil) } class func load(service: Nsstring) -> Nsstring? { // Instantiate a new default keychain query // Tell the query to return a result // limit our results to one item var keychainquery: NSMutableDictionary = NSMutableDictionary(objects: [kSecclassGenericPassword,kSecMatchlimit]) var dataTypeRef :Unmanaged<AnyObject>? // Search for the keychain items let status: Osstatus = SecItemcopyMatching(keychainquery,&dataTypeRef) let opaque = dataTypeRef?.toOpaque() var contentsOfKeychain: Nsstring? if let op = opaque? { let retrIEvedData = Unmanaged<NSData>.fromOpaque(op).takeUnretainedValue() // Convert the data retrIEved from the keychain into a string contentsOfKeychain = Nsstring(data: retrIEvedData,enCoding: NSUTF8StringEnCoding) } else { println("nothing was retrIEved from the keychain. Status code \(status)") } return contentsOfKeychain }}解决方法 对于您的代码,您可以使用NSDictionary: var keychainObjects = NSArray(objects:"\(kSecclassGenericPassword)",dataFromString) var keychainValues = NSArray(objects:"\(kSecclass)","\(kSecAttrService)","\(kSecAttrAccount)","\(kSecValueData)") let keychainquery = NSDictionary(objects: keychainObjects,forKeys: keychainValues)总结
以上是内存溢出为你收集整理的如何在Swift中创建NSMutableDictionary?全部内容,希望文章能够帮你解决如何在Swift中创建NSMutableDictionary?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)