簡體   English   中英

無法使用Float初始化CGFloat

[英]CGFloat cannot be initialized with Float

我有一個使用Swift為Sprite Kit應用程序編寫的函數。 Xcode當前在構建時出錯,聲稱無法初始化CGFloat()。 這是我的代碼:

func someFunction () {
    var x:Float = 5.0
    return CGFloat(x)
}

引發錯誤:

“找不到接受提供的參數的'init'的重載”

在命令上單擊CGFloat之后,我可以看到帶有Floats,Doubles和Ints的init以獲取可能的參數。

以下代碼也會產生相同的錯誤

func someFunction () {
    return CGFloat(5.0)
}

以及

func someFunction () {
    return 5;
}

這給了錯誤

“類型'()'不符合協議'IntegerLiteralConvertible'”

我覺得我顯然缺少一些影響我的代碼行為方式的語言的核心概念。

您顯然缺少的概念是您沒有為函數聲明返回類型。

它應該是

func someFunction () -> CGFloat {
    var x:Float = 5.0
    return CGFloat(x)
}

這聲明someFunction返回CGFloat類型的值。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM