かなり初歩的な内容なのですが、Swiftでreadline()を使ってEOFが入力されるまで入力を出力し続けるというコードを書いてます。

import UIKit

class ViewController: UIViewController {

    override func viewDidLoad() {
        super.viewDidLoad()
        while let input = readLine() {
            print(input)
        }

        print("end")
    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
    }
}

上記のコードを実行すると入力をする前にendが出力されてしまい困惑しています。デバッガを使って一行一行みていくとwhile文の判別式からprint("end")に飛んでしまっていることが確認できました。

readLine()のドキュメンテーションを読むと、

If EOF has already been reached when readLine() is called, the result is nil.

と書いてあるのですが、これはwhile let input = readLine()の行へ行く前にすでにEOFが返されてしまっているということなのでしょうか…?

補足: xcodeの実行環境はVersion 9.4.1 (9F2000)です。