Как я могу использовать эту функцию на основе массива для изменения метки, отображающей общее количество этого массива в другом классе?

Я разработал небольшой код Swift, который отображает чьи-то общие лайки. Итак, у меня есть один код, основанный на цикле while, чтобы сложить количество лайков в один итог. Затем я создал функцию, которая отображает короткую фразу, включая результат этого цикла. Теперь в моем контроллере представления я хочу запустить эту функцию отображения на метке, которую я создал, чтобы, наконец, отображать все лайки на экране. Тем не менее, я не могу понять, как мне следует запустить функцию отображения на ярлыке, чтобы она отображалась без того, чтобы я сначала нажал кнопку. Имейте в виду, это мой второй день кодирования, только с опытом работы с базовым синтаксисом Java.

Вот первый код

import UIKit

class likesObject: NSObject {
// This is where I created the loop to solve for the total amount of likes
func complimentsLikeTotal() -> Void {
    let monthlyLikes = [20, 15, 13, 32, 14, 38]
    var totalLikes = 0
    var runTotal = 0

    while runTotal < monthlyLikes.count {
        totalLikes += monthlyLikes[runTotal]
        print(totalLikes)
        runTotal += 1
    }

}
/*
 This is where I created the function to return how many all time likes there are in a phrase
 I want to use this function in the viewcontroller code on the label
 */
func display() -> String {
    return "\(complimentsLikeTotal) all time likes"
}

}

Вот код контроллера представления

import UIKit

class ViewController: UIViewController {
@IBOutlet weak var inputLikesLabel: UILabel!

override func viewDidLoad() {
    super.viewDidLoad()
    // Here is where I don't know what to do with display and how to link it with the label
    self.inputLikesLabel.text = display

}

}

1 ответ

Решение

Вероятно, ищите что-то вроде этого: (пожалуйста, сделайте так, чтобы имя класса начиналось с заглавной буквы согласно соглашению)

var likesObject = LikesObject()
likesObject.complimentsLikeTotal()
let display = likesObject.display()
self.inputLikesLabel.text = display

Я предполагаю, что класс LikesObject также имеет некоторые глобальные переменные, определенные для хранения данных.

В swift нет необходимости явно указывать возвращаемое значение void, если вы его опускаете, компилятор подразумевает void.

Другие вопросы по тегам