Какова цель __ cxa_pure_virtual?

К счастью, я смог помочь себе и хотел бы поделиться с вами своим решением:

Swift 3

// UIImage+Alpha.swift

extension UIImage {  

    func alpha(_ value:CGFloat) -> UIImage {
        UIGraphicsBeginImageContextWithOptions(size, false, scale)
        draw(at: CGPoint.zero, blendMode: .normal, alpha: value)
        let newImage = UIGraphicsGetImageFromCurrentImageContext()
        UIGraphicsEndImageContext()
        return newImage!   
    }
}

Выше добавлено новое расширение Swift, которое я добавил в свой проект, а затем я изменил пример UIButton следующим образом, чтобы иметь альфа-прозрачное фоновое изображение с прозрачностью 50%.

let img = UIImage(named: "imageWithoutAlpha")!.alpha(0.5)
let myButton = UIButton()

myButton.setBackgroundImage(img, for: .normal)
53
задан Matthew Murdoch 28 May 2009 в 05:54
поделиться

1 ответ

Если где-нибудь во время выполнения вашей программы создается объект с незаполненным указателем виртуальной функции, и при вызове соответствующей функции вы будете вызывать «чистую виртуальную функцию».

Описываемый вами обработчик должен быть определен в библиотеках по умолчанию, которые поставляются с вашей средой разработки. Если вы случайно опустите библиотеки по умолчанию, вы обнаружите, что этот обработчик не определен: компоновщик видит объявление, но не определение. Вот когда вам нужно предоставить свою собственную версию.

Бесконечный цикл приемлем, потому что это «громкая» ошибка: пользователи вашего программного обеспечения немедленно заметят это. Также допустима любая другая «громкая» реализация.

пользователи вашего программного обеспечения сразу это заметят. Также допустима любая другая «громкая» реализация.

пользователи вашего программного обеспечения сразу это заметят. Также допустима любая другая «громкая» реализация.

39
ответ дан 7 November 2019 в 08:51
поделиться
Другие вопросы по тегам:

Похожие вопросы: