大佬教程收集整理的这篇文章主要介绍了ios – 在字符串插值中使用选项时内存泄漏,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
class MySwiftObject { let boundHost:string? let port:UInt16 init(boundHost: String?,port: UInt16) { if boundHost { self.boundHost = boundHost! } self.port = port // leaks println("Server created with host: \(self.boundHost) and port: \(self.port).") } }
但是,如果我通过附加片段简单地构建String来替换字符串插值,则不会发生内存泄漏.
// does not leak var message = "Server created with host: " if self.boundHost { message += self.boundHost! } else { message += "*" } message += " and port: \(self.port)" println(messagE)
在使用字符串插值时,条件绑定似乎是正确的方法,而不是直接使用选项.不知道为什么编译器甚至允许这样做.
注意:如果有人有更好的答案或更好的解释,请添加新的答案.
init(boundHost: String?,port: UInt16) { if boundHost { self.boundHost = boundHost! } self.port = port if let constBoundHost = self.boundHost { println("Server created with host: \(constBoundHost) and port: \(self.port).") } else { println("Server created with host: * and port: \(self.port).") } }
以上是大佬教程为你收集整理的ios – 在字符串插值中使用选项时内存泄漏全部内容,希望文章能够帮你解决ios – 在字符串插值中使用选项时内存泄漏所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。