我在目标c中有以下代码
。h文件
+ (void)updateSecurityQuestionWithCompletion:(NSDictionary *) SecurityData competion:(UpdateSecurityQuestionCompletion)completion;
。m文件
+ (void)updateSecurityQuestionWithCompletion:(NSDictionary *) SecurityData completion: (UpdateSecurityQuestionCompletion)completion
{
[NetworkRequestScheduler updateChangedSecQeustionWithCompletion:SecurityData completion:completion];
}
swift code
func updateSecurityQuestionfromData(data: [String: Any]){
BMPassSDK.updateSecurityQuestion(withCompletion: data, competion: {[weak self] (walletConfig: SecurityQuesstionUpdateModel?, errors: BMErrors?) in
if errors != nil {
_ = errors?.allErrors()?.first as! NSError
return
}
if let config = walletConfig {
self?.loadUpdateSecurityConfig = config
let data = config
for each in data.loadSecurityDataConfig{
let _id = each["id"] as! Int
let _question = each["question"] as! String
self!.loadedSecurityQuestions.append(SecurityQuestion(id: _id, question: _question))
}
//self?.delegate?.getSavedSecurityQuestion(securityQuestion: self!.loadedSecurityQuestions)
}
})
}
var updatedsSecurityQuestion: [NSMutableDictionary] = valueSent
var securityData: NSMutableDictionary = [:]
// let data: NSMutableDictionary = ["questions_linked":"true"]
let securityKey = "security_question"
securityData.setObject(updatedsSecurityQuestion, forKey: securityKey as NSCopying)
// (updatedsSecurityQuestion, forKey: "security_question")
// securityData.setValue(updatedsSecurityQuestion, forKey: "security_question")
securityData.setObject("true", forKey: "question_linked" as NSCopying)
let Data = securityData as! [String : Any]
print(Data)
//let Data = securityData.getD
print(securityData)
updateSecurityQuestionfromData(data: Data)
我在目标c中传递了NSDictionary,但我不知道为什么它要求这种格式的数据
// BMPassSDK.updateSecurityQuestion(withCompletion: <#T##[AnyHashable : Any]!#>, competion: <#T##UpdateSecurityQuestionCompletion!##UpdateSecurityQuestionCompletion!##(SecurityQuesstionUpdateModel?, BMErrors?) -> Void#>)
整个崩溃,并显示错误“ updateSecurityQuestionWithCompletion:competion:]:无法识别的选择器已发送给类”我知道该错误表示我正在发送的数据格式错误。但我不明白为什么我的nsdcitionary会转换为json格式。
答案真的很傻.h文件中的“ competion”一词应为“ completion”]
(void)updateSecurityQuestionWithCompletion:(NSDictionary *) SecurityData completion:(UpdateSecurityQuestionCompletion)completion