我使用Table View
和制作了一个应用Segmented Control
,这是我第一次。我正在使用一些代码和一些教程,但是没有用。当我运行我的应用程序时,它崩溃了,并且在日志中显示此错误:
MyApplication [4928:336085] *由于未捕获的异常'NSUnknownKeyException'而终止应用程序,原因:'[setValue:forUndefinedKey:]:此类不符合键tableView的键值编码。*首先抛出调用堆栈:(0 CoreFoundation 0x000000010516fd85 __exceptionPreprocess + 165 1 libobjc.A.dylib 0x0000000105504deb objc_exception_throw + 48 2 CoreFoundation 0x000000010516f9c9-[NSException提高] + 9 3 Foundation 0x000000010364e19b-[NSObject(NSKeyValueCoding)Set:288] UIKit 0x0000000103c37d0c-[UIViewController setValue:forKey:] + 88 5 UIKit 0x0000000103e6e7fb-[UIRuntimeOutletConnection连接] + 109 6 CoreFoundation 0x00000001050a9890-[NSArray makeObjectsPerformSelector:] + 224 7 UIKit 0x0000000103e6d1s:
我使用的代码是:
class ViewController: UIViewController, UITableViewDataSource, UITableViewDelegate {
let foodList:[String] = ["Bread", "Meat", "Pizza", "Other"]
let drinkList:[String] = ["Water", "Soda", "Juice", "Other"]
@IBOutlet weak var mySegmentedControl: UISegmentedControl!
@IBOutlet weak var myTableView: UITableView!
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
}
func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
var returnValue = 0
switch(mySegmentedControl.selectedSegmentIndex) {
case 0:
returnValue = foodList.count
break
case 1:
returnValue = drinkList.count
break
default:
break
}
return returnValue
}
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let myCell = tableView.dequeueReusableCellWithIdentifier("myCells", forIndexPath: indexPath)
switch(mySegmentedControl.selectedSegmentIndex) {
case 0:
myCell.textLabel!.text = foodList[indexPath.row]
break
case 1:
myCell.textLabel!.text = drinkList[indexPath.row]
break
default:
break
}
return myCell
}
@IBAction func segmentedControlActionChanged(sender: AnyObject) {
myTableView.reloadData()
}
这是main.Storyboard
我检查了很多次代码,但是没有用。首先,我只需要使用它Table View
,观看本教程(https://www.youtube.com/watch?v=ABVLSF3Vqdg),我认为它可以Segmented Control
像本教程一样使用。但是仍然不起作用。相同的代码,相同的错误。有人能帮我吗 ?
您已经设置了情节提要,期望的插座名为,tableView
但实际的插座名称为myTableView
。
如果删除情节提要中的连接并重新连接到正确的变量名,则应该可以解决该问题。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句