2016-05-17 9 views
2

配列[T?]を任意の配列[T?]に割り当てたいと思います。これは簡単なはずですが、私が思いついた唯一の解決策は手動で行うことです。非選択配列の配列をオプション配列に変換する簡単な方法

struct ArrayHelper<T> { 
func toArrayOfOptionals(input: [T]) -> [T?] { 
    var result = [T?]() 
    for value in input { 
     result.append(value) 
    } 
    return result 
} 
} 
+0

「地図」のような音がきれいに聞こえます。 –

答えて

5

私はそこにあるとは思えない任意の組み込みでシームレスにこれを行うが、マップは、簡単な解決策であるべきための方法:での提案に基づいて変更コード:

var input = [T]() 
let output = input.map { Optional($0) } 

編集コメント。

+2

少し短く: 'let output:[optional] = input.map {$ 0}' –

+3

または 'let output = input.map {Optional($ 0)}' – vacawama

+0

これは、オプションが他のタイプ他のみんなと同じように普通の古いinitを使ってください。ありがとう! – KevM

関連する問題