swift 中无法赋值错误
Cannot assign values error in swift
我正在摆弄 table 视图,但我遇到了错误 无法将 'Answer' 类型的值分配给“[Answer]”类型的值
答案是 class,定义如下:
class Answer {
var EnglishAnswer: String = ""
var ChineseAnswer: String = ""
init(newEng: String, newChi: String){
self.EnglishAnswer = newEng
self.ChineseAnswer = newChi
}
}
而且我 运行 遇到了 prepareforsegue 方法中的问题:
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
let indexpath: NSIndexPath = self.tableView.indexPathForSelectedRow!
var DestinationViewController = segue.destinationViewController as! AnswerTableViewController
var ArrayofArrayswithAnswerElementsTwo : Answer
var ArrayofArrayswithAnswerElements = levelsArray.map( { [=12=].AnswersArray })
ArrayofArrayswithAnswerElementsTwo = ArrayofArrayswithAnswerElements[indexpath.row]
DestinationViewController.ArrayofArrayswithAnswerElements = ArrayofArrayswithAnswerElementsTwo
}
错误清楚地表明您正在尝试将 Answer
个对象的数组分配给声明仅包含 Answer
个对象的变量。
此变量用于保存 Answer
对象:
var ArrayofArrayswithAnswerElementsTwo : Answer
而且我怀疑这条线正在重新调整 Answer
个对象的数组:
ArrayofArrayswithAnswerElementsTwo = ArrayofArrayswithAnswerElements[indexpath.row]
您需要在 prepareForSegue
函数中设置断点、检查模型、打印对象并检查正确的赋值。
解决方案:您的问题可能有 2 种解决方案:
首先,这样定义ArrayofArrayswithAnswerElementsTwo
var ArrayofArrayswithAnswerElementsTwo : [Answer]
其次,使ArrayofArrayswithAnswerElements[indexpath.row]
变为returnAnswer
而不是[Answer]
PS:您的变量命名约定与行业惯例不同步。变量名应以小写字母开头,并应尽可能短。
我正在摆弄 table 视图,但我遇到了错误 无法将 'Answer' 类型的值分配给“[Answer]”类型的值
答案是 class,定义如下:
class Answer {
var EnglishAnswer: String = ""
var ChineseAnswer: String = ""
init(newEng: String, newChi: String){
self.EnglishAnswer = newEng
self.ChineseAnswer = newChi
}
}
而且我 运行 遇到了 prepareforsegue 方法中的问题:
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
let indexpath: NSIndexPath = self.tableView.indexPathForSelectedRow!
var DestinationViewController = segue.destinationViewController as! AnswerTableViewController
var ArrayofArrayswithAnswerElementsTwo : Answer
var ArrayofArrayswithAnswerElements = levelsArray.map( { [=12=].AnswersArray })
ArrayofArrayswithAnswerElementsTwo = ArrayofArrayswithAnswerElements[indexpath.row]
DestinationViewController.ArrayofArrayswithAnswerElements = ArrayofArrayswithAnswerElementsTwo
}
错误清楚地表明您正在尝试将 Answer
个对象的数组分配给声明仅包含 Answer
个对象的变量。
此变量用于保存 Answer
对象:
var ArrayofArrayswithAnswerElementsTwo : Answer
而且我怀疑这条线正在重新调整 Answer
个对象的数组:
ArrayofArrayswithAnswerElementsTwo = ArrayofArrayswithAnswerElements[indexpath.row]
您需要在 prepareForSegue
函数中设置断点、检查模型、打印对象并检查正确的赋值。
解决方案:您的问题可能有 2 种解决方案:
首先,这样定义ArrayofArrayswithAnswerElementsTwo
var ArrayofArrayswithAnswerElementsTwo : [Answer]
其次,使ArrayofArrayswithAnswerElements[indexpath.row]
变为returnAnswer
而不是[Answer]
PS:您的变量命名约定与行业惯例不同步。变量名应以小写字母开头,并应尽可能短。