我使用第三方SwiftAlertView类(https://github.com/dinhquan/SwiftAlertView)并将Swift从2.3更新为3.
当我遵守时,应用程序和我发现错误消息如下。iOS - Swift 3 - SwiftAlertView - 可选类型
Binary operator '+' cannot be applied to operands of type 'Double' and 'Double!'
代码如下。
titleTopMargin和titleToMessageSpacing是Double!
那不能添加Double(titleLabel.frame.size.height)。
let topPartHeight = (contentView == nil) ? (titleTopMargin + Double(titleLabel.frame.size.height) + titleToMessageSpacing + Double(messageLabel.frame.size.height) + messageBottomMargin) : Double(contentView!.frame.size.height)
定义如下。
// customize the margin & spacing of title & message
open var titleSideMargin: Double! // default is 20 px
open var messageSideMargin: Double! // default is 20 px
open var titleTopMargin: Double! // default is 20 px
open var messageBottomMargin: Double! // default is 20 px
open var titleToMessageSpacing: Double! // default is 10 px
如何解决该问题?
谢谢。
你能告诉我们你在哪里定义'titleTopMargin','titleToMessageSpacing'和'messageBottomMargin'吗?问题很可能是其中一个(或多个)隐含地解开。 –
此问题与http://stackoverflow.com/questions/39251005/strange-generic-function-appear-in-view-controller-after-converting-to-swift-3 – vadian
'open var titleSideMargin:Double = 20.0 ' –