如何在Swift中制作Dyanamic NSDictonary [英] how to make Dyanamic NSDictonary in Swift
本文介绍了如何在Swift中制作Dyanamic NSDictonary的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
{
"QuizId" : "23566656"
"StartTime":"23:30"
"EndTime":"23:45"
"data":[
{"QuestionID":"131313131","AnswerID":"1233152"},
{"QuestionID":"131313141","AnswerID":"1233152"},
{"QuestionID":"131313151","AnswerID":"1233152"},
{"QuestionID":"131313161","AnswerID":"1233152"},
{"QuestionID":"131313171","AnswerID":"1233152"},
{"QuestionID":"131313181","AnswerID":"1233152"},
{"QuestionID":"131313191","AnswerID":"1233152"},
{"QuestionID":"131313101","AnswerID":"1233152"},
]
}
您好,我想在运行时创建一个 NSDictonary
如上所述。感谢您的任何帮助。
Hello I want to Create a NSDictonary
on Runtime which Structure Should Be Like above. any Help Will Appreciated Thanks.
我有解决方案感谢您的努力
小变化我想要
由于我拥有所有这些数据的模态。
Little Change I want to Make As i Have Modal For all Those Data.
let info = self.playQuizArray[currentQuizIndex] as! playInfo
let Ainfo = info.answers[indexPath.row] as! AnswerInfo
let QuesID = info.quizQId
for i in 0..<playQuizArray.count {
data.append(["QuestionID": QuesID[i], "AnswerID": playQuizArray[i]]) // For Answer Ainfo.ansID
}
let dic = [
"QuizId" : "23566656",// info.quizID
"StartTime" : "23:30",
"EndTime" : "23:45",
"data" : data
]
print(dic)
谢谢。
这里是模态
class AnswerInfo: NSObject {
var ansId :String? = ""
var ans :String? = ""
var ansImg :String? = ""
class func infoWith(dict: NSDictionary?) -> AnswerInfo {
let anInfo = AnswerInfo()
anInfo.wrapInfo(dict)
return anInfo
}
func wrapInfo(dict: NSDictionary?) {
if dict == nil {
return
}
self.ansId = dict!.objectForKey("answerId") as? String
self.ans = dict!.objectForKey("AnsImage") as? String
self.ansImg = dict!.objectForKey("option") as? String
}
}
class playInfo: NSObject {
var quizId : String? = ""
var quizQId : String? = ""
var quizQuestion : String? = ""
var answers = NSArray()
class func PlayQuizInfo(dict: NSDictionary?) -> playInfo {
let Pinfo = playInfo()
Pinfo.WrapPlayQuiz(dict)
return Pinfo
}
func WrapPlayQuiz(dict: NSDictionary?) {
if dict == nil {
return
}
self.quizId = dict!.objectForKey("quizId") as? String
self.quizQuestion = dict!.objectForKey("question") as? String
self.quizQId = dict!.objectForKey("questionId")as? String
if let answer = dict?.objectForKey("keys") as? NSArray {
let AnsArray = NSMutableArray()
for ans in answer {
let ansInfo = AnswerInfo.infoWith(ans as? NSDictionary)
AnsArray.addObject(ansInfo)
}
self.answers = AnsArray
}
}
}
推荐答案
您可以使用swift 字典
[String:AnyObject] code>这个方式而不是
NSMutableDictionary
。
You can use swift Dictionary
[String: AnyObject]
this way instead of NSMutableDictionary
.
var data = [[String: AnuObject]]()
for i in 0..<questionArr.count {
data.append(["QuestionID": questionArr[i], "AnswerID": answerArr[i]])
}
let dic = [
"QuizId" : "23566656",
"StartTime" : "23:30",
"EndTime" : "23:45",
"data" : data
]
print(dic)
这篇关于如何在Swift中制作Dyanamic NSDictonary的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文