简体   繁体   中英

Cannot call value of non-function type double

I am quite new to programing in swift and I am working on a music app for iOS that adjusts the font size of the text in a UILabel in proportion to the string's length. In my code, I am trying to count the number of characters in the string statement and have it plugged into a formula, but for some reason Xcode gives me the error: Cannot call value of non function type double I tried setting the value to a CGFloat but it still gives me the same error on the "let b = 41.2 - .8(a) line. Thank you so much and sorry if this seems like a basic question.

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

I assume you expect "0.8 times a" with .8(a) .

Three things:

  • You need leading 0 to represent fractional values in Swift.

  • You need explicit operator * for multiplication.

  • You need to convert numeric types to match for mathematical operations.

All these included, your line of interest becomes like this:

let b = 41.2 - 0.8 * CGFloat(a)

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM