Swift 5,iOS 12,Xcode 10
我终于在我的 ListingsViewController 上实现了一个搜索栏,它的确运行良好-但是初始数据并未填充到表中。
我意识到这是一个笨拙的实现,但是我正在学习中,并且仅使用我能理解的代码。我已经待了两天了-我尝试创建一个 Struct 并以这种方式引入数据,但是我什至无法获得一个 Array 。我尝试将其作为 NSArray 和 Array 和 Object 引入,但是我无法加载初始表,或者根本无法解析数据,或者无法进行搜索。
我怀疑这与我调用 loadData()函数的方式,时间或位置有关,但我无法弄清楚。
imgs, lables = next(trainBatch)
Traceback (most recent call last):
File "C:\Users\Haier\AppData\Local\Programs\Python\Python36\lib\site-packages\IPython\core\interactiveshell.py", line 3296, in run_code
exec(code_obj, self.user_global_ns, self.user_ns)
File "<ipython-input-20-4b8b727474cb>", line 1, in <module>
imgs, lables = next(trainBatch)
File "C:\Users\Haier\AppData\Local\Programs\Python\Python36\lib\site-packages\keras_preprocessing\image\iterator.py", line 100, in __next__
return self.next(*args, **kwargs)
File "C:\Users\Haier\AppData\Local\Programs\Python\Python36\lib\site-packages\keras_preprocessing\image\iterator.py", line 109, in next
index_array = next(self.index_generator)
File "C:\Users\Haier\AppData\Local\Programs\Python\Python36\lib\site-packages\keras_preprocessing\image\iterator.py", line 85, in _flow_index
current_index = (self.batch_index * self.batch_size) % self.n
ZeroDivisionError: integer division or modulo by zero
我希望当我从标签栏切换到 ListingsViewController 时,将显示清单的整个列表。相反,我得到一个空白表。
但是,如果我点击搜索栏并开始输入内容,则会得到匹配的结果-当我取消搜索时,可以在表格中看到所有结果。
(此外,当我点击搜索栏时,即使取消搜索,导航栏也会消失并且不会返回。即使我切换到其他标签并返回。也无法找出答案。)
答案 0 :(得分:0)
您缺少表视图的委托和数据源 添加此:
class ListingsViewController: UITableViewController, UISearchResultsUpdating,UITableViewDelegate,UITableViewDataSource {
//your class code here
}
并在您的viewDidLoad
上添加以下内容:
self.tableView.delegate = self
self.tableView.dataSource = self
应该起作用,请注意,在调用委托和数据源后,将调用行和行数函数的单元格,因此请确保此时使用的数组不为空
答案 1 :(得分:0)
我看到您并没有缺少表视图的委托和数据源。 您必须为viewcontroler注册委托和数据源。显示数据的地方。
请将此代码插入您的viewDidLoad
self.tableView.delegate =自我
self.tableView.dataSource =自我