2016-06-16 3 views
2

При создании инструмента командной строки в Swift 3 мне нужно запросить пользователя ввода клавиатуры. Как я могу попросить пользователя ввести их данные (например, имя пользователя)?Получить пользовательский ввод от инструмента командной строки Swift 3

+0

В частности, этот ответ: http://stackoverflow.com/a/ 34144018/1187415. –

ответ

1

Это изменение может быть изменено, так как Swift 3 - это движущаяся цель, но вот базовый пример, побуждающий пользователя к их вводу.

import Foundation 

func input() -> String { 
    let keyboard = FileHandle.standardInput() 
    let inputData = keyboard.availableData 

    return NSString(data: inputData, encoding: String.Encoding.utf8.rawValue) as! String 
} 

print("Please enter your name:") 

var name = input() 

print("\(name)") 
+0

Обратите внимание, что с вашим решением 'name' будет содержать символ новой строки. –

+0

Спасибо за головы –

6

readline() доступен, так как, по крайней мере Свифта 2 и по-прежнему доступны в Swift 3 (Xcode 8 Beta 1):

print("Please enter your name: ", terminator: "") 
let name = readLine()! 
Смежные вопросы