迅速转换

时间:2014-08-11 08:40:22

标签: ios swift nsoutputstream

我知道此问题必须以其他形式提出过。我试图写一个NSOutputStream我正在根据我的观点从不同的东西写出的信息。

@IBAction func sendMessage(sender: UIButton!) {

    var msg = self.messageText.text as String!
    var response = "msgtouser:" + self.nameofSender + ":" + nameofReceiver + ":" + self.messageText.text
    var res : Int

    self.outputStream.write(response, maxLength :response.lengthOfBytesUsingEncoding(NSASCIIStringEncoding))
}

当我尝试通过连接多个字符串来响应时,我收到错误。我得到的错误是当我尝试连接UInt8时,String不能转换为self.messageText.text

当我尝试添加响应变量

时,会发生同样的事情

2 个答案:

答案 0 :(得分:1)

你应该试试"快速的方式"。如文档中所述,它可能有所帮助。例如:

    let multiplier = 3
    let message = "\(multiplier) times 2.5 is \(Double(multiplier) * 2.5)"

https://developer.apple.com/library/prerelease/ios/documentation/Swift/Conceptual/Swift_Programming_Language/StringsAndCharacters.html

希望这有帮助。

答案 1 :(得分:0)

将此评论发送给未来的读者:

截至目前的测试版,Swift编译器似乎存在隐式输入某些表达式的问题。

为了避免这种情况,您可以向结果变量添加显式类型。 这将导致该表达式中的任何运算符(例如,此问题中的加法运算符)表现得更加明智。

因此,在上面的代码中,我们只需要这样做:

var response: String = ...