ios - 当我在 xcode 中切换到第二页时出现问题(swift)
问题描述
我对同时使用 swift 和 xcode 非常陌生,并且在两个视图控制器之间切换时遇到了问题(如视频所示)。每当我按下按钮进入下一个屏幕时,底部的蓝条就会出现并且它停止工作。它以前可以工作,但是在我添加了第三个和第四个视图控制器之后,它就停止了工作。我不知道问题出在哪里,所以我不确定要发送代码的哪些部分,但我可以发送任何需要的东西。
我的问题视频:https ://www.youtube.com/watch?v=nvFkltNAJkI&feature=youtu.be
这是我的第二个 ViewController 的代码(按计划时打开的那个)
import UIKit
protocol DataDelegate {
func insertEvent(eventString: String, pos: Int)
func insertDate(_ dateString: String, pos: Int)
func insertImage(_ matImage: UIImage, pos: Int)
}
class SecondScreenViewController: UIViewController, UITableViewDataSource, UITableViewDelegate, DataDelegate {
@IBAction func back()
{
dismiss(animated: true, completion: nil)
}
@IBOutlet var tableView: UITableView!
var dates = ["6/1/20", "6/3/20", "6/3/20"]
var eventNames = ["event1", "event2", "event3"]
var images = [UIImage(named: "Test"), UIImage(named: "Test"), UIImage(named: "Test")]
var mImage = UIImage(named: "TestTree")
override func viewDidLoad() {
super.viewDidLoad()
perform(#selector(advance), with: nil, afterDelay: 2)
let nib = UINib(nibName: "FirstTableViewCell", bundle: nil)
tableView.register(nib, forCellReuseIdentifier: "FirstTableViewCell")
tableView.delegate = self
tableView.dataSource = self
}
//DataDelegate methods
func insertEvent(eventString: String, pos: Int)
{
if pos == -1
{
eventNames.append(eventString)
}
else
{
eventNames.insert(eventString, at: pos)
}
}
func insertDate(_ dateString: String, pos: Int)
{
dates.insert(dateString, at: pos)
}
func insertImage(_ matImage: UIImage, pos: Int)
{
images.insert(matImage, at: pos)
}
@objc func advance()
{
let vc = NewCellViewController()
vc.delegate = self
present(NewCellViewController(), animated: true, completion: nil)
}
//TableView Funcs
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int
{
return dates.count
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell
{
let cell = tableView.dequeueReusableCell(withIdentifier: "FirstTableViewCell", for: indexPath) as! FirstTableViewCell
//method calls to sort dates (move names with them) before displaying, in this class
cell.myDate.text = dates[indexPath.row]
cell.myEventName.text = eventNames[indexPath.row]
cell.myImageView.image = images[indexPath.row]
return cell
}
}
我正在使用这个1 segue 来呈现视图控制器,但是直到我在底部创建视图控制器的 segue 后问题才开始出现,这很奇怪,因为我没有做任何事情来触发前两个屏幕。
解决方案
推荐阅读
- python - 使用python用HTML表单“发布”数据填写“可填写的pdf”?
- amazon-web-services - S3 上传通过 CLI 和控制台成功,但通过 SDK 抛出访问被拒绝
- python - Heroku 要求
- php - 在浏览器选项卡中从 php 脚本打开本地文件
- angular - 长时间延迟后的角度 setInterval 接收值
- javascript - 如何将变量从弹出窗口传递到内容脚本?
- python - FreeRADIUS Python 模块“属性 Auth-Type 的未知或无效值”Python“”
- azure-web-app-service - 在所有 Azure 应用服务实例上调用 WebRequest
- batch-file - 带有 Exec 批处理和文件 Stream 进度的 Inno Setup 安装程序页面永远不会退出 Stream 并且即使在正确的 bat 终止的情况下也无限期挂起
- php - 如何在没有 pjax 的情况下使用分页而不重新加载主页