2017-07-12 148 views
0

下面是來自documentation of UITouch報價:保留UITouch:是否允許?

觸摸對象仍然存在整個多點觸摸序列。 從來沒有 處理事件時保留觸摸對象。如果您需要保留 關於從一個觸摸階段到另一個觸摸階段的信息,請從觸摸複製該信息。

然後這裏是另外一個從Event Handling Guide for UIKit Apps

清單9-1顯示了主要執行TouchableView類 和觸摸操作方法。每種方法都會遍歷 觸摸並執行所需的操作。 touchViews字典 使用UITouch對象作爲鍵來檢索在屏幕上操作的子視圖 。

class TouchableView: UIView { 
    var touchViews = [UITouch:TouchSpotView]() 
    ... 
} 

顯然,他們正在利用UITouch實例作爲字典鍵...

那麼什麼是與此交易違反了他們自己的規則?是否應該保留UITouch實例用於複雜的手勢跟蹤?

回答

1

蘋果開發人員並不完美,是的,我會同意他們違反了他們自己的準則。同樣,蘋果公司表示,你不應該繼承收集的意見,但我已經這樣做了,因爲增加了一些次要的效用函數,沒有不良影響。我想說這應該放在類似的「不這樣做」類別中。如果他們說過不這樣做,那麼你自己承擔風險。但實際上,因爲創建代理NSTouch記錄非常容易,爲什麼不這樣做呢?由於類似的原因,我最終將我的集合視圖實用功能「分解」到另一個實用程序類中,這是因爲我是肛門醫生,並且希望確保我的安全;)

相關問題