var a = [1,2,3] // Intsvar s = ",".join(a) // EXC_BAD_ACCESS
是否可以使加入函数返回“1,3”?
扩展Int(或其他自定义类型)以符合某些协议?
尝试这个var a = [1,".join(a.map {extension String { func join<S : SequenceType where S.Generator.Element : Printable>(elements: S) -> String { return self.join(map(elements){.description })extension String { func join<S : SequenceType where String == String>(elements: S) -> String}.description }) } // use this if you don't want it constrain to Printable //func join<S : SequenceType>(elements: S) -> String { // return self.join(map(elements){ "\()" }) //}}var a = [1,".join(a) // works with new overload of join
或添加此扩展
连接被定义为
这意味着它需要一个字符串序列,你不能传递一个int序列.
总结以上是内存溢出为你收集整理的Swift:String.join()如何工作自定义类型?全部内容,希望文章能够帮你解决Swift:String.join()如何工作自定义类型?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)