NSFileHandle是文件描述符的包裝器,它是解決方案。您可以使用文件句柄對象來訪問與文件,套接字,管道和設備關聯的數據。對於文件,您可以在文件中讀取,寫入和查找。
DispatchQueue.global(qos: .background).async {
let input = FileHandle.standardInput
var aStr : String!
while true {
//Read first 4 bytes to get message length details(As per NativeMessagingAPI protocol)
let lengthDetails = input.readData(ofLength:4)
let length = lengthDetails.withUnsafeBytes { (ptr: UnsafePointer<Int32>) -> Int32 in
return ptr.pointee
}
let data = input.readData(ofLength:Int(length))//input.availableData
if (data.count > 0) {
var aStr = String(data:data, encoding:String.Encoding.utf8)
if (aStr != nil) {
DispatchQueue.main.async {
//Handle data logic here
}
}
}
}
}
我認爲「任何人都可以請建議在(語言)STDIO做的解決方案」是「沒有研究」問題的金標準。 – Xan
@Xan請爲我提供參考鏈接,如果有的話。我已經使用Mac命令行工具完成了這一工作,但是使用OSX應用程序時,遇到了一些線程問題。 – itZme
我不得不承認我沒有,因爲我從未碰過Obj-C或Swift。但是,如果您已經嘗試過並且無法正常工作,那麼您絕對應該提及,或者更好 - 顯示您嘗試做的和研究的內容。 – Xan