アプリがスムーズに実行されているときにUIActivityIndicatorViewが回転しているかどうかを確認するには、どのようにテストしますか?

BoeingLikesToDab

私の問題はUIActivityIndicatorView、アプリがスムーズに実行されるために表示されないため、コードが正しいかどうかわからないことです。

これがそれについて言及しているすべてです:

@IBOutlet weak var questionLabel: UILabel!
@IBOutlet weak var scoreLabel: UILabel!
@IBOutlet var progressBar: UIView!
@IBOutlet weak var progressLabel: UILabel!
@IBOutlet weak var loadingIndicator: UIActivityIndicatorView!

override func viewDidLoad() {
    super.viewDidLoad()
    loadingIndicator.hidesWhenStopped.toggle()
    nextQuestion()
}

func startOver() {
    loadingIndicator.startAnimating()
    questionNumber = 0
    score = 0
    nextQuestion()
}

func nextQuestion() {
    updateUI()
    loadingIndicator.stopAnimating()
    if questionNumber <= 12 {

func updateUI() {

        scoreLabel.text = "Score: \(score)"

        progressBar.frame.size.width = (view.frame.size.width / 13) * CGFloat(questionNumber)


    }

これは正常ではありません。

ジョシュ・ホーマン

次のnextQuestion()いずれかを使用して、人為的に遅延を追加できます。

Timer.scheduledTimer(withTimeInterval: 1, repeats: false) { [weak self] _ in
    self?.nextQuestion()
}

または

DispatchQueue.main.asyncAfter(deadline: .now() + 1) { [weak self] in
    self?.nextQuestion()
}

遅延により、タイマーが回転しているのを確認できます。より良いアプローチは、プロトコルの背後にサービスレイヤーを隠すことです。そうすれば、遅延またはエラーの後にサンプルデータを返すモックサービスレイヤーを作成できます。これにより、アニメーションの読み込みやエラー処理などをテストできます。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

Related 関連記事

ホットタグ

アーカイブ