완전히 새로운 프로젝트에서 추가 코드없이 보통 table view
이 있습니다. 내 스토리 보드에는 2 개의 뷰 컨트롤러가 있으며 은 First Controller
에 삽입되어 있습니다. First Controller
에는 단추 및 레이블이있는 테이블보기가 있습니다. 나는 segue
을 cell
단추에서 스토리 보드의 두 번째 컨트롤러로 보냈습니다.테이블 뷰가 호출되지 않음
내가 알고 싶은 것은 내 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
}
}
두 번째 컨트롤러 - : 당신이 푸시를 사용하는 경우
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")
}
}
이 첫 번째보기 컨트롤러가 생성되는 방법을 표시하지 않습니다. 왜 첫 번째보기 컨트롤러가 사라지 길 원합니까? 앱이 사라지면 앱에서 남을 것입니다. –
@ 의미 - 문제는 아무것도 알지 못하지만 테스트를 확인하고있었습니다. 이것이 가능한가, 아닌가? –