0
私は現在、カスタム生産性アプリを書いていますし、私はバリケードに実行していますよ。私はMVCのコーディング方法を使用しています。私はすべての時間の計算をモデルクラスで行い、ビューの更新はコントローラクラスで行いました。モデルからのデータを迅速にコントローラに戻す方法を教えてください。
しかし、私はコントローラにモデルから戻って送信するデータを取得する問題を抱えています。データをループするモデルクラス関数がコントローラクラスではなく別のメソッドによって呼び出されるため、returnメソッドを使用することはできません。私は新たなんだので、説明を持つ任意のヘルプは、できるだけ簡単に説明し
import Foundation
class MyClass {
var timerCounter:NSTimeInterval!
func stringFromTimeInterval(interval: NSTimeInterval) -> String {
let interval = Int(interval)
let seconds = interval % 60
let minutes = (interval/60) % 60
let hours = (interval/3600)
return String(format: "%02d:%02d:%02d", hours, minutes, seconds)
}
func startTimer(hour: Int) {
timerCounter = NSTimeInterval(hour)
NSTimer.scheduledTimerWithTimeInterval(1, target: self,
selector: #selector(MyClass.onTimer(_:)),
userInfo: nil, repeats: true)
}
@objc func onTimer(timer:NSTimer!){
//this is where I need to send the data from, back to the
//controller so that the controller can update the display.
timerCounter! -= 1
}
func timeCalculation(cartons: Int, people: Int) -> Int{
let numberOfCartons = Double(cartons)
let numberOfPeople = Double(people)
let timeCalculations: Double = numberOfCartons/4.7/
numberOfPeople
let timeSeconds = (timeCalculations * 60) * 60
return Int(round(timeSeconds))
}
}
:ここ
import UIKit
class ViewController: UIViewController {
@IBOutlet weak var display: UILabel!
@IBOutlet weak var cartonInput: UITextField!
@IBOutlet weak var peopleInput: UITextField!
@IBAction func goButton(sender: UIButton) {
let calculator = MyClass()
if let people = Int(peopleInput.text!){
if let carton = Int(cartonInput.text!){
let placeholder = calculator.timeCalculation(carton, people: people)
calculator.startTimer(placeholder)
}
}
}
}
は、すべての計算を処理するデータモデルである:ここでは
は私のViewControllerクラスです非常に感謝します。これは私が学び成長するのに役立ちます。例えば
について