私はあなたがこの使用方法を知っていると仮定:
let cAndL: [(NSColor, CGFloat)] = [(NSColor.redColor(), 0.0), (NSColor.greenColor(), 1.0)]
let gradient = NSGradient(colorsAndLocations: cAndL[0], cAndL[1])
残念ながら、スウィフトは、私たちに可変長引数の関数に配列を与えるための方法を提供していません。
そして第2部分。いくつかのAPIがUnsafePointer<T>
を配列として要求している場合は、Swift Array of Tを作成してAPIに直接渡すことができます。
let colors = [NSColor.redColor(), NSColor.greenColor()]
let locations: [CGFloat] = [0.0, 1.0]
let gradient2 = NSGradient(colors: colors, atLocations: locations, colorSpace: NSColorSpace.genericRGBColorSpace())
あなたは(NSColor
、CGFloat
)のArray
を利用したい場合、あなたはこのような何か書くことができます:あなたはTのスウィフト配列を作成し、直接渡すことができ、「_
let gradient3 = NSGradient(colors: cAndL.map{$0.0}, atLocations: cAndL.map{$0.1}, colorSpace: NSColorSpace.genericRGBColorSpace())
をAPI "_これは安全であることが保証されていますか? –
@BenLeggiero、確かに。 [このドキュメント](https://developer.apple.com/library/ios/documentation/Swift/Conceptual/BuildingCocoaApps/InteractingWithCAPIs.html#//apple_ref/doc/uid/TP40014216-CH8-ID23)の定数ポインタの部分を参照してください。 )。 – OOPer