Ios swift中的转换

Ios swift中的转换,ios,swift,nsoutputstream,Ios,Swift,Nsoutputstream,我知道这个问题以前肯定是以另一种形式提出的。我正试图向一条NSOutputStream消息写入我从不同角度撰写的消息 @IBAction func sendMessage(sender: UIButton!) { var msg = self.messageText.text as String! var response = "msgtouser:" + self.nameofSender + ":" + nameofReceiver + ":" + self.message

我知道这个问题以前肯定是以另一种形式提出的。我正试图向一条
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))
}
当我试图通过连接多个字符串来进行响应时,会出现一个错误。我得到的错误是,当我尝试连接
self.messageText.text
时,字符串不能转换为
UInt8


当我尝试添加response变量以将我的评论放在这里供未来读者阅读时,也会发生同样的情况:

从目前的beta版开始,Swift编译器似乎在隐式键入某些表达式方面存在问题

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

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

var response: String = ...

你应该尝试一下“快捷方式”。如文件中所述,这可能会有所帮助。例:

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


希望这能有所帮助。

我注意到,每当转换失败时,Swift喜欢给出UInt8错误,而不管实际涉及的类型如何。您确定所有属性都是字符串吗?如果显式键入
var-response:String
,会发生什么情况?是的,这会解决问题,但现在:fails我不确定您所说的:。如果新问题与不同的代码有关,那么最好打开一个新问题?除非我遗漏了一些明显的东西,否则我在这里看不到任何类似的东西。很抱歉,我想用“:”粗体…我通过使用“!”@tudoricc Text here使用的变量修复了这些问题。对于粗体,用双星号环绕项目,如
**this**