2010-08-18 83 views

回答

2

這可能是一個表現的事情。這些方法經常被調用,並且每次有任何變化時必須發送-respondsToSelector:,這是相當大的性能影響。

+1

可能是,但您不必在每次調用時調用respondsToSelector。只有在委託人更改時纔可以檢查。這甚至可能會更快,因爲那麼你只比較一個布爾值,我認爲它比調用一個空方法更快。 – V1ru8 2010-08-18 16:13:43

+0

如此神祕仍然:)我正在批准這個答案,因爲這聽起來很合理。 – kolinko 2010-08-18 19:27:20

+0

謝謝梅林。要明確,答案只是猜測。我沒有任何來自Apple的祕密信息。 – JeremyP 2010-08-19 08:15:26

-2

對我來說,它看起來像一些蘋果工程師太懶惰編程委託調用正常。所以他只是沒有設置@optional,所以他不必處理可能不存在的方法。

+0

刪除........ – JeremyP 2010-08-18 15:30:45

+0

我不認爲就是這樣。 – kolinko 2010-08-18 19:25:14

+0

如果是這種情況,我相信蘋果公司已經修復了它,所有將代表改爲可選代碼後都不會破壞現有代碼。 – Cromulent 2010-08-19 07:19:16

0

難道你不能只爲這三種不需要的方法制作空的funcs嗎?

+0

我可以和我做,我只是好奇,爲什麼我必須:) – kolinko 2010-08-18 19:25:33

相關問題