到現在爲止我有過這樣的代碼如何使用Swift 3選擇器?
if UIScreen.instancesRespondToSelector(Selector("scale")) {
UIGraphicsBeginImageContextWithOptions(size, false, UIScreen.mainScreen().scale);
}else{...}
我沒有寫這個代碼,所以我不知道它是,但它看起來像他們想驗證UIScreen.mainScreen()
其實可以有變量.scale
(?)。
在看.scale
時,它看起來像從iOS 4.0開始一直可用。既然我們支持iOS 7,這不應該是必要的,對吧?
無論如何,這不是當前的問題。 我現在有數百個警告,因爲Xcode 7.3對Swift 3有這些新的選擇器實例化或什麼。
的Xcode希望我可以改變:
Selector("scale")
到
#selector(NSDecimalNumberBehaviors.scale)
到現在爲止,所有其他的選擇,我已經改變過的邏輯,像「改變Selector("hello")
爲#selector(MyClass.hello)
,但這NSDecimal..
聽起來有點激烈。我可以信任Xcode選擇正確的選擇器嗎?我找不到任何地方NSDecimalNumberBehaviors
連接到UIScreen.scale ..如果我型#selector(UIScreen.scale)
我得到一個錯誤..
我肯定知道的唯一的事情是,如果我CMD +點擊這裏scale
:NSDecimalNumberBehaviors.scale
,在這裏: UIScreen.mainScreen().scale
我最終在不同的地方..
我首先強烈建議在編寫代碼之前(或者至少有人可能知道發生了什麼事情)與之進行交流,然後再進行此類更改。 – ZGski
什麼是其他條件?我不明白爲什麼無法在UIScreen上調用縮放比例,官方文檔聲明,如您所說,該屬性自iOS 4起可用。 – Gustanas
ZGski,他們不再在這裏工作。 @Gusta的else語句簡直就是'UIGraphicsBeginImageContext(size)' – Sti