Я успешно преобразовал много ошибок в Swift 3, за исключением последней строки. Он работает в Xcode 7, но не Xcode 8.Xcode 8/Swift 3 - Тип 'CGColorRenderingIntent' не имеет статуса 'RenderingIntentDefault'
Также стоит отметить, что Xcode 7 имеет документацию на CGColorRenderingIntent
, но Xcode 8 нет.
Тип 'CGColorRenderingIntent' не имеет ни одного члена 'RenderingIntentDefault'
код я работаю с:
import CoreImage
// omitted code
public func imageFromPixels(pixels: ([Pixel], width: Int, height: Int)) -> CIImage {
let bitsPerComponent = 8
let bitsPerPixel = 32
let rgbColorSpace = CGColorSpaceCreateDeviceRGB()
let bitmapInfo = CGBitmapInfo(rawValue: CGImageAlphaInfo.premultipliedLast.rawValue) // alpha is last
let providerRef = CGDataProvider(data: NSData(bytes: pixels.0, length: pixels.0.count * sizeof(Pixel)))
let image = CGImageCreate(pixels.1, pixels.2, bitsPerComponent, bitsPerPixel, pixels.1 * sizeof(Pixel), rgbColorSpace, bitmapInfo, providerRef!, nil, true, CGColorRenderingIntent.RenderingIntentDefault)
return CIImage(CGImage: image!)
}
компании Apple документации:
enum CGColorRenderingIntent : Int32 {
case RenderingIntentDefault
case RenderingIntentAbsoluteColorimetric
case RenderingIntentRelativeColorimetric
case RenderingIntentPerceptual
case RenderingIntentSaturation
}
Обновлено Код:
let image = CGImage(width: pixels.1,
height: pixels.2,
bitsPerComponent: bitsPerComponent,
bitsPerPixel: bitsPerPixel,
bytesPerRow: pixels.1 * sizeof(Pixel),
space: rgbColorSpace,
bitmapInfo: bitmapInfo,
provider: providerRef!,
decode: nil,
shouldInterpolate: true,
intent: .defaultIntent)
return CGImage(CGImage: image!) // Incorrect argument label in call (have 'CGImage:', expected 'copy:')
Typo: 'return CIImage (cgImage: ...' with ** I ** – vadian
Независимо от того, какие документы вы ищете, являются старыми. Если вы являетесь символом google и находите свой путь к URL-адресу, который начинается с developer.apple .com/library /, вы находитесь в документах для доставки ОС и Swift 2. Для этого перечисления доступны бета-документы Swift 3/Xcode 8/related OS для этого перечисления (https://developer.apple.com/reference/ core4). – rickster
Да, это был только тот тип, который у меня был для возвращения. Основная проблема заключалась в поиске имени case для перечисления 'CGColorRenderingIntent'. Я всегда smd-click, что бы я ни испытывал, но по какой-то причине мой Xcode 8 только дает мне сообщение «серые вопросительные знаки» или «no docs». Я удивлен, что это было выпущено даже как бета-версия, потому что каждый раз, когда я что-то меняю, требуется 10 секунд для обновления. Кажется, каждые 30 секунд «Сборка» получается правильное отображение всех моих ошибок. Каждые несколько секунд мое цветовое кодирование также исчезает. – tymac