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**
。