var QuestionID = [String]()
var Questions = [String]()
var AnswersID = [[String]]()
var AnswersArray = [[String]]()
var AnswerType = [String]()
func tableView(_ tableView: UITableView, cellForRowAt indexPath:
IndexPath) -> UITableViewCell{
let cell =
tblQuickQuestions.dequeueReusableCell(withIdentifier:
"idQuickQuestionsTableViewCell", for: indexPath) as!
QuickQuestionsTableViewCell
cell.backgroundColor = UIColor.white
cell.selectionStyle = .none
cell.lblRadio!.text = AnswersArray[indexPath.sections]
[indexPath.rows]
return cell
}
func tableView(_ tableView: UITableView, numberOfRowsInSection
section: Int) -> Int{
return AnswersArray[section].count
}
/ ********************************************** *********************************************** / 我的数组值:
问题ID:[“2”,“3”,“4”,“5”,“6”]
问题:[“地板怎么样?”,“测试问题???”,“什么是你的bdate”,“测试问题”,“你好吗......?”
答案类型:[“复选框”,“复选框”,“下拉菜单”,“下拉菜单”,“收音机按钮”]
答案ID:[[“3”],[“5”],[“6”,“7”,“8”],[“9”],[“10”,“11”,“12 “]]
AnswersArray:[[“test”],[“ans”],[“4月2日”,“7月”,“15aug”],[“lklklk”],[“aa”,“bb”,“ CC“]]
我想实现一个问题,答案测验,其中答案是多种选择,可以是单选按钮,复选框或列表。我已经实现了二维数组的答案,如:答案[[“1”,“2”,“3”],[“1”],[“1”,“2”,“3”,“4”,“ 5" ]]。其中第一个内部数组代表第一个问题的答案,第二个内部数组代表第二个问题,依此类推。以及如下问题:问题[“问题1”,“问题2”,“问题3”]。现在我想将这些值分配给表视图单元格中的标签,并希望在下一个按钮单击时显示下一个问题和答案。
答案 0 :(得分:0)
您可以通过创建Singleton
的{{1}}数组来解决此问题。
假设我的单例数组名称是'MainArray'。
所以我创建了一个将从Dictionary
函数调用的函数。
viewDidLoad()
来自控制台的输出:
func gatherData(){
MainArray.removeAll(keepingCapacity: false)
let QuestionsID : [String] = ["2", "3", "4", "5", "6"]
let Question : [String] = ["How is the flooring?", "Test Question ???", "what is ur bdate", "Test Question", "How are you ...?"]
let AnswerType : [String] = ["Checkbox", "Checkbox", "Drop Down Menu", "Drop Down Menu", "Radio Buttons"]
// let AnswersID : [[String]] = [["3"], ["5"], ["6", "7", "8"], ["9"], ["10", "11", "12"]]
let AnswersArray : [[String]] = [["test"], ["ans"], ["2 April", "7 jan", "15aug"], ["lklklk"], ["aa", "bb", "cc"]]
var emptyDictionary = [String: Any]()
for ind in 0...QuestionsID.count-1{
emptyDictionary["QID"] = QuestionsID[ind]
emptyDictionary["QNAME"] = Question[ind]
emptyDictionary["ANSWERTYPE"] = AnswerType[ind]
var innerArray : [String] = []
for inner in 0...AnswersArray.count-1{
innerArray = [AnswersArray[ind][inner]]
break
}
emptyDictionary["ANSWERARRAY"] = innerArray
emptyDictionary["ANSWER_USER"] = ""
MainArray.append(emptyDictionary)
}
print("MainArray:\(MainArray)")
}
通过使用 MainArray:[["ANSWERARRAY": ["test"], "ANSWER_USER": "", "ANSWERTYPE": "Checkbox", "QNAME": "How is the flooring?", "QID": "2"], ["ANSWERARRAY": ["ans"], "ANSWER_USER": "", "ANSWERTYPE": "Checkbox", "QNAME": "Test Question ???", "QID": "3"], ["ANSWERARRAY": ["2 April"], "ANSWER_USER": "", "ANSWERTYPE": "Drop Down Menu", "QNAME": "what is ur bdate", "QID": "4"], ["ANSWERARRAY": ["lklklk"], "ANSWER_USER": "", "ANSWERTYPE": "Drop Down Menu", "QNAME": "Test Question", "QID": "5"], ["ANSWERARRAY": ["aa"], "ANSWER_USER": "", "ANSWERTYPE": "Radio Buttons", "QNAME": "How are you ...?", "QID": "6"]]
索引位置,您可以在数组值之间切换,这些数据只是该索引的单个字典,您可以根据字典中的数据显示结果。
如果这样可以解决您的问题,请不要忘记接受答案。