做者:Jameson Quave,原文連接,原文日期:2016-08-10
譯者:Joy;校對:bestswifter;定稿:千葉知風swift
我想要分享一段來自 Swift 開發者的簡短對話,KS Sreeram 寫到:數組
我試圖經過下面幾步,經過最少的數據複製,高效地建立一個字節數組函數
建立一個空的字節數組。ssr
在數組中預留充足的空間。翻譯
使用可變指針去作數組的數據填充。指針
只有數組被填充以後,才能知道它的實際大小。code
我想要設置數組的大小爲它被填充的實際大小。ci
我尚未找到任何有效的方法去完成最後一步。有辦法去這麼作嗎?開發
Dave Abrahams’ 的迴應:get
建立一個序列(Sequence)來表示你想要填充的數據,例如:
var a = [1, 2] // a.reserve(256) - swift 2.2 a.reserveCapacity(256) // swift 3.0 a += sequence(first: 3, next: {$0 < 1000 ? ($0 + 3) * 2 : nil})
有不少的方法去建立序列,可是重載的
sequence()
函數多是最簡單的方式。
悲催的:
@jckarter @ericasadun,不幸的是,Dave 的解決方案不適用於序列化代碼,這代碼並不適用於控制反轉。
—— KS Sreeram (@kssreeram) 2016 年 8 月 10 日
本文由 SwiftGG 翻譯組翻譯,已經得到做者翻譯受權,最新文章請訪問 http://swift.gg。