我正在尝试从tempArray
中的数组descArray
和AddViewController
获取ViewViewController
中tableview
中temLabel
的值,我想要两个数组值应分别打印在descLabel
和import UIKit
class ViewViewController: UIViewController, UITableViewDelegate, UITableViewDataSource {
var getAddController : AddViewController = AddViewController()
@IBOutlet weak var menu: UIBarButtonItem!//
@IBOutlet weak var viewTableView: UITableView!
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
let numberRows = getAddController.tempArray
let numRow = String(describing: numberRows)
print (numRow)
return 10
//numRow.count
//getAddController.tempArray.count
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = viewTableView.dequeueReusableCell(withIdentifier: "ViewTableViewCell") as! ViewTableViewCell
let temarrayNow = getAddController.tempArray
let descArrayNow = getAddController.descArray
let crrentTemarray = String(describing: temarrayNow)
let decArNow = String(describing: descArrayNow)
cell.titleLabel.text = crrentTemarray[indexPath.row]
cell.descLabel.text = descArrayNow[indexPath.row]
return cell
}
override func viewDidLoad() {
super.viewDidLoad()
menu.target = revealViewController()
menu.action = #selector(SWRevealViewController.revealToggle(_:))
self.view.addGestureRecognizer(self.revealViewController().panGestureRecognizer())
viewTableView.delegate = self
viewTableView.dataSource = self
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
}
,但我收到错误
指数超出范围 任何问题我都不知道我该做什么我已经研究过但没有任何帮助。
以下是ViewViewController的代码
jQuery(document).ready(function($) {
"use strict";
// TESTIMONIALS CAROUSEL HOOK
$('#customers-testimonials').owlCarousel({
loop: true,
center: true,
items: 3,
margin: 0,
autoplay: true,
dots:false,
autoplayTimeout: 8500,
smartSpeed: 450,
responsive: {
0: {
items: 1
},
768: {
items: 2
},
1170: {
items: 3,
nav:true
}
}
});
});
答案 0 :(得分:0)
在numberOfRowsInSection
中,返回tempArray计数而不是固定值10。
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
let numberRows = getAddController.tempArray
let numRow = String(describing: numberRows)
print (numRow)
return numberRows.count
//numRow.count
//getAddController.tempArray.count
}
这应该有用。
答案 1 :(得分:0)
在此方法中,您需要返回数组计数而不是静态值
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
let numberRows = getAddController.tempArray
let numRow = String(describing: numberRows)
print (numRow)
return numberRows.count
}
请注意,您在 cellForRowAt 中使用了两个数组 getAddController.tempArray 和 getAddController.descArray ,并且您只返回一个计数 numberOfRowsInSection 所以你必须在两个数组中都有相同的元素,因为如果其中一个元素的元素较少,那么你将再次收到错误
答案 2 :(得分:0)
我想知道天气tempArray和descArray,两者都有相同数量的元素(arr.count)
并在cellForRowAt中,
let crrentTemarray = String(describing: temarrayNow)
let decArNow = String(describing: descArrayNow)
cell.titleLabel.text = crrentTemarray[indexPath.row] //here you have used crrentTemarray
cell.descLabel.text = descArrayNow[indexPath.row]
这里你使用了descArrayNow而不是decArNow (如果我没错)