全く新しいプロジェクトで、余分なコードなしで普通のtable view
があります。私のストーリーボードには、2つのビューコントローラーと、がFirst Controller
に埋め込まれています。 First Controller
には、ボタンとラベル付きのテーブルビューがあります。私はsegue
をcell
からストーリーボードの2番目のコントローラーに割り当てました。テーブルビューが呼び出されていない
私が知りたいのは、deinit
が最初にcontroller
のために呼び出され、呼び出されないことです。私はブレークポイントを設定し、何も動作していないようです。
controller
がpopped
あるので、それは、second controller
のために働くfirst
からsecond
から、私は戻ってsegue
deinit
を実行するために必要なのは何ですか?
pop
が最初に
controller
になる必要がありますか?
stack
からですか?または、別の場所で
nil
を明示的に指定する必要がありますか?
正しいコンセプトを理解してもらえますか?これについて正しい方向に私を導いてください。
コード - :
import UIKit
class ViewController: UIViewController {
// CELL DATA ARRAY
var data = [0,0,0,0,0,0,0,0,0,0]
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
// INITIALIZE total tap ARRAY WITH INDEX 0
}
deinit {
print("Deleted")
}
}
// TABLE VIEW METHODS
extension ViewController:UITableViewDelegate,UITableViewDataSource{
// NUMBER OF ROWS
func numberOfSections(in tableView: UITableView) -> Int {
return 1
}
// number of sections
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return data.count
}
// Cell for row
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
// deque cell
let cell = tableView.dequeueReusableCell(withIdentifier: "cell", for: indexPath) as! CustomCell
cell.customLabel.text = "Total taps : \(String(data[indexPath.row]))"
// CALL BACK BUTTON
return cell
}
}
カスタム細胞 - :
import UIKit
class CustomCell: UITableViewCell {
// Outlets
@IBOutlet weak var customCount: UIButton!
@IBOutlet weak var customLabel: UILabel!
override func awakeFromNib() {
super.awakeFromNib()
// Initialization code
}
// Cell button action
@IBAction func countTaps(_ sender: UIButton) {
}
override func setSelected(_ selected: Bool, animated: Bool) {
super.setSelected(selected, animated: animated)
// Configure the view for the selected state
}
}
第二Controller-:
import UIKit
class SecondViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
deinit {
print("denit")
}
}
この最初のビューコントローラの作成方法は表示されません。なぜ、この最初のView Controllerを消してしまいたいのですか?それがなくなったらあなたのアプリから何が残されますか? –
@意味が分からないことは分かっていますが、テストをチェックしていました。これは可能かどうか? –