Label on swift 4.2 app does not appear

Hi, I am a beginner and Im trying to output labels TLM HAS PAPER or TLM HAS NO PAPER to my iPhone 6.
My code is below.
Input Html into a string, then I find the character string relevant...ie "Sensor is:</2>OFF" . Then print label to my phone. It sometimes works if I move the code around, but only cycle a few times.
I installed a timer to slow the code down so the label can maybe will print, but this has failed.
Any guidance appreciated.

//
// ViewController.swift
// TLMv25_11_18
//
//
//
//

import UIKit
import WebKit

class ViewController: UIViewController { //A

@IBOutlet weak var webView: WKWebView!
@IBOutlet weak var alarm: UILabel!

override func viewDidLoad()        { //B
    super.viewDidLoad()
    let myURL = URL(string:"http://192.168.4.1")
    let myRequest = URLRequest(url: myURL!)
    webView.load(myRequest)
    print("step 1")
    var i = 300000
    if let url = URL(string: "http://192.168.4.1")         { //J
            do { //I
                let contents = try String(contentsOf: url)
                print("step 2")
                print(contents)
                if contents.contains("Sensor is:</2>ON")   { //F
                    print("** sensor is on")
                    while i >= 0 { //k
                    alarm.text = "TLM HAS PAPER"
                    //delay here
                        print(i)
                        i -= 1
                    } //k
                    print("this is working here in my code")
                    print("step 3")
                } //F
                if  contents.contains("Sensor is:</2>OFF") { //G
                    print("step 4")
                    print("sensor is off")
                    alarm.text = "NO PAPER"
                    print("code working to here")
             } //G
             } //J
            catch { //E
                print("check wifi")
                print("step 5")
            } //E
        print("step 6")
            } //I
    print("step 7")
    viewDidLoad()
                                    } //B

                                    } //A

Aside that this question is not related to the Swift open source project itself, hence the #off-topic tag on the thread, I see one mistake in your code. Remove the viewDidLoad() call after step 7 because this will produce an infinite loop.

Hello DevAndArtist, I will move off forum, but thanks for the reply. Yes your correct it does work for one time. It stops at step 7 just before viewDidLoad(). The function viewDidLoad() allowed me to loop back and keep monitoring my HTML string for any change.
Thanks for the reply.

Terms of Service

Privacy Policy

Cookie Policy