私はSwift 3で私の最初のアプリケーションで作業しています。私はtableView(「拡張MainController:UITableViewDataSource」によって)を使用しています。そしてこのテーブルビューから、ストーリーボードで私は2つのセグを持っています。 1つは編集用(アクセサリアイコンをクリック)、もう1つは詳細画面(テーブル行をクリック)です。私はこのコードをコードではなくストーリーボードで呼んでいます。スウィフトでのテーブルビューの遅れ
私の問題は、時には大きな遅れがあるということです。行をクリックした後と同様に、30秒後に次の画面が表示されます。しかし今はいつも。ときどきすぐに働きます。興味深いのは、1行目に触れても何も起こらないとき、次に2行目をクリックして1行目が表示されていることです。
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
// 1
if segue.identifier == "AddSensor" {
// 2
let navigationController = segue.destination
as! UINavigationController
// 3
let controller = navigationController.topViewController
as! AddController
// 4
controller.delegate = self
}
else if segue.identifier == "EditSensor" {
let navigationController = segue.destination
as! UINavigationController
let controller = navigationController.topViewController
as! AddController
controller.delegate = self
if let indexPath = tableView.indexPath(
for: sender as! UITableViewCell) {
controller.sensorToEdit = sensors[indexPath.row]
}
}
else if segue.identifier == "DetailSeq" {
let navigationController = segue.destination
as! UINavigationController
let controller = navigationController.topViewController
as! DetailController
controller.delegate = self
if let indexPath = tableView.indexPath(
for: sender as! UITableViewCell) {
controller.sensorRecieved = sensors[indexPath.row]
}
}
}
私はそれがiOS8に共通のバグだったと
func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
DispatchQueue.main.async {
self.performSegue(withIdentifier: "DetailSeq",sender: self)
}
}
しかし、それを追加することで解決できることが読んでいた:私も、デリゲートを使用しています
、これは準備seguesのためのコードがあります私のために働いていませんでした。この問題を解決するために次に何をすべきかわかりません。誰も私を導くことができますか?
あなたは*ラグなし*この作業を持って、その後、遅れを見始めましたか?もしそうなら、あなたは何を変えましたか?あなたがそれを始めることが決してなかったら、小さく始めて段階的に進みたいと思うかもしれません...単純なビューコントローラにセグエイティングを試みてください - デリゲートもデータの受け渡しもありません。他の部分で追加を開始します。 – DonMag
Segueではなく、Segueと呼ばれています。 G、no Q. – LinusGeffarth
これはチェックする価値があります。あなたは "didSelectRowAtIndexPath"を実装していて、 "選択解除"に重点を置いていないことを確認できますか?過去に実装したインスタンスが "DeSelect"して、選択解除時にのみセグがトリガーされます。また、より多くのコードを投稿できますか? – TheAppMentor