2014-10-09 21 views
2

我使用Xcode 6與Swift,我得到錯誤」操作數postfix'!'應該有可選的類型;類型是'CGVector'「在我的代碼中說我必須刪除!但是當我這樣做時,我得到錯誤「可選類型的值CGVector?」不打開;你的意思是使用'!'要麼 '?'?」這迫使我再次添加它。「後綴操作數'!'應該有可選的類型;類型是'CGVector'「

我不知道該怎麼辦,這裏是產生錯誤的行,問題是與物業「速度」:

if(Utils.getNetVec(physicsBody?.velocity!, gravity: gravity, signs: true).dy > CGFloat(0)) { 

我怎樣才能解決這個問題呢?

回答

4

,如果你把括號圍繞physicsBody?.velocity然後它

if(Utils.getNetVec((physicsBody?.velocity)!, gravity: gravity, signs: true).dy > CGFloat(0)) { 

這是因爲velocity本身不是一個可選的,但由可選的,因爲它通過可選的鏈接訪問。可選需要展開,但只需放入!不夠好,因爲它綁定到velocity。添加括號會導致!應用於可選鏈接表達式的結果。

+2

謝謝,對於任何人都有同樣的問題,它也可以通過解開包裝physicalBody – lisovaccaro 2014-10-09 01:28:45

+0

檢查/展開'physicsBody'首先確實可能是一個更好的主意。 – rickster 2014-10-09 03:10:04

相關問題