无法调用非函数类型的值double

时间:2016-07-10 05:11:20

标签: ios xcode swift mobile compiler-errors

我对swift编程很陌生,我正在开发一款适用于iOS的音乐应用程序,可以根据字符串的长度调整UILabel中文本的字体大小。在我的代码中,我试图计算字符串语句中的字符数并将其插入公式,但由于某种原因,Xcode给出了错误:无法调用非函数类型的值double 我尝试将值设置为CGFloat,但它仍然在“let b = 41.2 - .8(a)”行中给出了相同的错误。非常感谢,如果这看起来像是一个基本问题,那就很抱歉。

let title = "Let It Bleed"
    AlbumName.text = title
    let a  = title.characters.count

   if ( a <= 19){

    let b = 41.2 - .8(a)
        let fontsize = CGFloat(b)
       AlbumName.font = AlbumName.font.fontWithSize(fontsize)

    }

A screenshot of the code with the error

1 个答案:

答案 0 :(得分:1)

我假设你期望.8(a)的“0.8倍”。

三件事:

  • 您需要前导0来表示Swift中的小数值。

  • 您需要显式运算符*进行乘法运算。

  • 您需要转换数字类型以匹配数学运算。

所有这些包括在内,您的兴趣点就像这样:

let b = 41.2 - 0.8 * CGFloat(a)