Derzeit nutze ich den MENTA-Service und erhalte Anleitungen von Yamataku Mentor.
Klicken Sie hier, um mehr über Yamataku Mentoren und Dienstleistungen zu erfahren! (https://menta.work/plan/584)
Diesmal ist es die zweite Stufe des angewandten Lernens. *** Ich habe die Aufgabe "Implementieren der Mikrowellenlogik" erledigt ***, also werde ich sie ausgeben.
Darüber hinaus ist dieses Problem eine Logik, die von Swift-Anfängern entwickelt wurde, und ich denke, es gibt viele Punkte, die nicht erreicht werden können. Ich würde es begrüßen, wenn Sie mit warmen Augen wachen könnten.
Wenn Sie einen Rat haben, würde ich mich freuen, wenn Sie mich unterrichten könnten.
Umgebung
-Playground
・ Die Leistung der Mikrowelle beträgt 900.600.200. ・ Dieses Mal ist es aus Sicherheitsgründen nicht möglich, länger als 11 Minuten zu heizen.
・ Implementierung des Timers ・ Implementierte das Konzept von Minuten und Sekunden ・ Ausgabe der verbleibenden Zeit ・ Wenn die verbleibende Zeit 0 Sekunden erreicht, geben Sie "Warmlauf ist abgeschlossen" aus und stoppen Sie den Timer. ・ Wenn die Erwärmungszeit 11 Minuten oder mehr beträgt, "Erwärmung kann nicht gestartet werden!", Ausgabe "Bitte stellen Sie den Timer innerhalb von 10 Minuten 59 Sekunden ein"
・ Wenn der Timer innerhalb von 10 Minuten und 59 Sekunden eingestellt wird, wird das Warmable-Flag zurückgegeben und "Warming Starts !!" ausgegeben. ・ Geben Sie die ausgewählte Leistung aus
VirtualVendingMachine.rb
import UIKit
import PlaygroundSupport
class VirtualMicrowave : UIViewController {
//Bitte stellen Sie den Timer ein
var timeSet = (min:0,sec:0)
//Initialisierung der Timer-Klasse
var timer: Timer!
//Bestimmen Sie die Leistung
enum powerConsumptionType{
case bottun900W
case bottun600W
case bottun200W
var displayName: String{
switch self {
case.bottun900W :
return "900W"
case.bottun600W :
return "600W"
case.bottun200W :
return "200W"
}
}
}
override func viewDidLoad() {
super.viewDidLoad()
//Rufen Sie den Start-Timer auf
startTimer()
}
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
}
//Gibt die wärmbare Flagge zurück
func startWarm(type: powerConsumptionType) -> Bool {
var isWarmable = false
if timeSet.min < 11 {
print("Erwärme dich! !!:\(type.displayName)")
return true
}
return isWarmable
//Rufen Sie den Countdown-Timer auf
countDownTimer()
}
@objc func countDownTimer(){
if timeSet.min == 0 && timeSet.sec == 0 {
print("Es wärmt sich auf")
timer.invalidate()
}else if timeSet.min > 10{
print("Ich kann mich nicht erwärmen!")
print("Stellen Sie den Timer innerhalb von 10 Minuten und 59 Sekunden ein")
timer.invalidate()
}else if timeSet.sec > 0 && timeSet.min < 11 {
//Wenn die Anzahl der Sekunden 0 oder mehr oder 10 Minuten oder weniger beträgt
timeSet.sec -= 1
print("\(timeSet.min)Protokoll\(timeSet.sec)Sekunden")
} else if (timeSet.sec == 0) && timeSet.min > 0 {
//Wenn die Anzahl der Sekunden 0 ist
timeSet.sec += 59
timeSet.min -= 1
print("\(timeSet.min)Protokoll\(timeSet.sec)Sekunden")
}
}
//Methode zum Starten des Timers
func startTimer() {
timer = Timer.scheduledTimer(
timeInterval: 1,
target: self,
selector: #selector(self.countDownTimer),
userInfo: nil,
repeats: true)
}
}
let window = UIWindow(frame: CGRect(x: 0, y: 0, width: 300, height: 500))
let viewController = VirtualMicrowave()
viewController.view.backgroundColor = UIColor.gray
window.rootViewController = viewController
window.makeKeyAndVisible()
PlaygroundPage.current.liveView = window
let virtualMicrowave = VirtualMicrowave()
var isSuccessToWarm = virtualMicrowave.startWarm(type:.bottun200W)
print(isSuccessToWarm)
Dieses Mal habe ich gelernt, wie man Argumente verwendet und wie man die Timer-Methode verwendet, obwohl es sich um eine Spielplatzumgebung handelt. Da ich von Grund auf über die Logik nachdachte, vertiefte ich mein Verständnis der grundlegenden Syntax. In Anbetracht der zusätzlichen Funktionen kann es möglich sein, nicht nur die Bereichsfunktion, sondern auch die Ofen- und Toastfunktionen hinzuzufügen.
Recommended Posts