2

我正在尝试从 iOS 操场上的用户那里获取动态输入,但它不起作用。我尝试了以下代码,但没有成功。

import Foundation
import UIKit
func input() -> String {
    var keyboard = FileHandle.standardInput
    var inputData = keyboard.availableData
    var strData = NSString(data: inputData, encoding: String.Encoding.utf8.rawValue)!

    return strData.trimmingCharacters(in: NSCharacterSet.newlines)
}

input()
4

5 回答 5

4

从操场获取输入是不可行的,您可以在 XCode 项目中使用:

print("Please enter your name")
var name = readLine()
print("name: \(name!)")

或者:

func input() -> String {
   let keyboard = FileHandle.standardInput
   let inputData = keyboard.availableData
   return String(data: inputData, encoding: .utf8)!
}

print("Please enter your name")
var name = input()
print("name: \(name!)")
于 2018-01-18T10:26:07.753 回答
3

您可以从 textField 获取您的游乐场输入,如下所示:

    import PlaygroundSupport
    import UIKit

    class V: UIViewController {
        var textField = UITextField(frame: CGRect(x: 20, y: 20, width: 200, height: 24))
        override func viewDidLoad() {
            super.viewDidLoad()
            view.addSubview(textField)
            textField.backgroundColor = .white
            textField.delegate = self
        }
    }
    extension V: UITextFieldDelegate {
        func textField(_ textField: UITextField, shouldChangeCharactersIn range: NSRange, replacementString string: String) -> Bool {
            // Do stuff here
            return true
        }
    }
    let v = V()
    v.view.frame = CGRect(x: 0, y: 0, width: 300, height: 300)
    PlaygroundPage.current.liveView = v.view
    PlaygroundPage.current.needsIndefiniteExecution = true
于 2017-01-19T06:21:06.617 回答
2

我认为不可能在 Xcode 的 Playground 上获得用户输入。

于 2019-05-09T02:55:50.703 回答
-1

是否可以在与空游乐场相同的部分“回答”项目。您可以使用“ask()”和“show()”方法。

例如:

func square(num: Double) -> Double {
    return num * num
}

show("Please type a number to square it:")
var sqrt = askForNumber()
show("Result: \(square(num: Double(sqrt)))")

对不起,我在 iPad 上写,很难输入代码。

执行期间的外观

于 2019-09-08T10:01:27.287 回答
-1

print("Please Enter your favorite programming language", terminator: ".") let name = readLine() print("Your favorite programming language is \(name!).")

在上述程序中,打印功能输出请输入您喜欢的编程语言。在调试区。语句 let name = readLine() 在调试区域等待用户输入。

如果您键入“Swift”并按下回车,readLine 函数会将该字符串分配给常量名称,并将输出显示为您最喜欢的编程语言是 Swift。

由于 readLine 函数返回一个可选字符串,我们强制将常量解包为名称!在语句 print("你最喜欢的编程语言是 (name!)") 中。

于 2019-01-30T04:47:34.847 回答