作者:Jameson Quave,原文链接,原文日期:2016-08-10
译者:@L_301_1@;校对:bestswifter;定稿:千叶知风
我想要分享一段来自 Swift 开发者的简短对话,KS Sreeram 写到:
我试图通过下面几步,通过最少的数据复制,高效地创建一个字节数组
创建一个空的字节数组。
在数组中预留充足的空间。
使用可变指针去做数组的数据填充。
只有数组被填充之后,才能知道它的实际大小。
我想要设置数组的大小为它被填充的实际大小。
我还没有找到任何有效的方法去完成最后一步。有办法去这么做吗?
Dave Abrahams’ 的回应:
创建一个序列(Sequence)来表示你想要填充的数据,例如:
var a = [1,2]// a.reserve(256) - swift 2.2a.reserveCapacity(256) // swift 3.0a += sequence(first: 3,next: {sequence()
< 1000 ? ( + 3) * 2 : nil})
有很多的方法去创建序列,但是重载的 函数可能是最简单的方式。
悲催的:
总结@jckarter @ericasadun,不幸的是,Dave 的解决方案不适用于序列化代码,这代码并不适用于控制反转。
—— KS Sreeram (@kssreeram) 2016 年 8 月 10 日
本文由 SwiftGG 翻译组翻译,已经获得作者翻译授权,最新文章请访问 http://swift.gg。
以上是内存溢出为你收集整理的Sequence 带来的更多乐趣全部内容,希望文章能够帮你解决Sequence 带来的更多乐趣所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)