2010-09-07 118 views
7

在iphone sdk中對框架有一個弱引用是什麼意思?什麼是「弱框架參考」?

+0

你在問什麼是'弱引用'?給你的問題多一些背景。 – MStodd 2010-09-07 18:01:40

+1

如果你只是谷歌你的問題,你會發現這是最重要的結果:http://developer.apple.com/mac/library/documentation/MacOSX/Conceptual/BPFrameworks/Concepts/WeakLinking.html – Felixs 2010-09-07 18:05:36

+0

@MStodd:你是對,很抱歉..我想知道什麼是弱框架參考,什麼時候應該使用這種參考。 – Omer 2010-09-08 14:55:55

回答

6

實際上,如果您構建的應用程序需要引用框架而不是弱引用,並嘗試在不包含該框架的設備上運行該應用程序,該應用程序會崩潰,即使你不會嘗試使用該框架。

但是,如果您構建的應用程序具有對框架的弱引用,並在不支持該框架的設備上運行它,並且不會訪問該框架中的類(方法,子例程等)(因爲你說,運行時預先測試了該框架的存在),那麼你的應用程序不會在啓動時崩潰。但是由於框架是弱連接的,你可以在支持該框架的設備上從同一個應用程序調用該框架。因此,您的應用可能支持不同的操作系統版本,支持和不支持給定的框架。

啓動時間可能也會有一些性能差異,導致引用較弱的應用程序的啓動速度要慢得多。

+2

由於鏈接薄弱,您是否對啓動時間基準測試的參考速度較慢?我在WWDC特別詢問了Apple的工程師,他們知道沒有這樣的放緩。我沒有在我自己的應用程序中觀察到它。 – 2010-09-07 20:49:51

+0

然後減速可能是舊信息。 – hotpaw2 2010-09-07 23:08:15

+0

首先,感謝您的回答......並且我沒有注意到啓動時的性能差異。 – Omer 2010-09-08 14:53:04