0

我知道这个问题之前必须以另一种形式提出过。从我的角度来看,我正在尝试写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当我尝试连接self.messageText.text.

当我尝试添加响应变量时也会发生同样的事情

4

2 回答 2

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

希望这可以帮助。

于 2014-08-11T08:54:52.197 回答
0

在这里为未来的读者发表我的评论:

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

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

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

var response: String = ...
于 2014-08-11T08:47:52.760 回答