回答
An NSObject
can return nil
from its initialiser method,並且由於UIView
繼承自NSObject
,它也可以返回nil。
除非存在無法創建對象的特定原因(例如,在他們給出的示例中,設備上沒有攝像頭的攝像頭對象),那麼您總是可以期望獲得返回值。
你當然不會檢查你是否每次都得到一個值。如果存在一些可怕的低內存或資源情況,這意味着無返回狀態,那麼您的應用程序可能即將死亡。
好的,那麼問題就會從'UIView'的init方法返回'nil'的時候轉移到'NSObject'的init方法可以返回nil的時候。它只是在低內存? – lassej 2014-10-04 07:51:53
順便說一句,對於'UIViewController',沒有記錄可能會返回nil。 https://developer.apple.com/library/ios/Documentation/UIKit/Reference/UIViewController_Class/index.html#//apple_ref/occ/instm/UIViewController/initWithNibName:bundle: – lassej 2014-10-04 07:52:40
- 1. 方法保持返回nil
- 2. initWithFrame中的UIView
- 3. NSKeyedArchiver爲UIView的子視圖返回nil
- 4. UIView drawRect vs initWithFrame
- 5. RSpec中的賦值方法返回nil
- 6. dequeueReusableCellWithIdentifier在didSelectRowAtIndexPath方法中返回nil
- 7. NSKeyedUnarchiver unarchiveObjectWithFile:在init中返回nil:方法
- 8. 上NSInteger的返回類型方法返回nil
- 9. UIView的initWithFrame不工作?
- 10. Lisp(null(QUOTE NIL))返回NIL
- 11. NSURL返回nil
- 12. viewForAnnotation返回nil
- 13. NSDateFormatter返回nil
- 14. CGImageSourceCreateImageAtIndex返回nil
- 15. fontWithFamily返回nil?
- 16. NSDateFormatter返回nil
- 17. NSLocaleCountryCode返回nil
- 18. enumerateAssetsWithOptions返回nil
- 19. NSURLResponse返回nil?
- 20. Rails.cache.clear返回nil
- 21. predicateForEventsWithStartDate返回nil
- 22. indexPathForSelectedRow返回nil
- 23. indexPathForCell:返回nil
- 24. NSDateformatter返回nil?
- 25. NSDateFormatter:dateFromString返回nil
- 26. NSJSONSerialization返回nil
- 27. 的UINavigationController返回nil
- 28. NSInvocationOperation init從類方法返回nil調用實例方法
- 29. 爲UIView自定義initWithFrame
- 30. Stubbed方法在before_create回調中返回nil
一種情況是,如果視圖是通過界面生成器/故事板創建的。 – n00bProgrammer 2014-10-04 06:41:19
@ n00bProgrammer如果視圖是從xib或storyboard文件加載的(調用'initWithCoder'),則文檔聲明「'initWithFrame'」是***未被調用。 – 2014-10-04 06:46:41
是的,我的意思是。它沒有被調用。我的錯。 – n00bProgrammer 2014-10-04 06:52:43