是否有其他人與Xcode 4有問題,其中viewDidLoad
被調用兩次?我已經在Xcode 3.2和Xcode 4中運行了相同的項目,並且它僅在Xcode 4中運行。Xcode 4 - viewDidLoad問題
回答
Xcode只是IDE - 它不應該影響您的應用程序執行時發生的情況。如果存在差異,則更有可能您正在爲不同的iOS版本構建。
感謝您的回覆。我知道Xcode只是一個ide ..我的目標4.2和4.3 xd4和3.2.6 sdk建設,我只有xcode 4的麻煩。即使我建設的不同版本我的viewdidload不應該被稱爲在我的應用程序沒有完成啓動並沒有記憶警告或任何事情之前兩次。 – Renegade428 2011-03-12 16:24:53
我建議在bugreporter.apple.com上提交錯誤報告。 – 2011-03-18 16:28:53
在對Apple Developer forums進行研究之後,似乎在某些情況下,Xcode 4會創建錯誤的Interface Builder NIB。結果是應用程序的rootViewController被加載了兩次,這真的讓事情搞砸了。在Xcode 3中加載的相同項目不會出現問題。
在我的通用應用程序中,它隻影響iPad的NIB。 iPhone很好。
我能夠解決這個問題的方法:
- 卸下在界面生成器(這使得該應用程序以
window.rootViewController = nil
加載)的RootViewController的連接 - 在viewDidLoad中的主控制器(在這就是一個被加載兩次),然後我手動分配
appDelegate.window.rootViewController = self
到目前爲止,這似乎具有預期的效果。
您是否設置了視圖控制器的視圖?我有同樣的問題,我意識到,我沒有設置視圖屬性。
- (void)viewDidLoad {
UIView *contentView = [[UIView alloc] initWithFrame: [[UIScreen mainScreen] applicationFrame];
//add some stuff to contentView here
self.view = contentView;
[contentView release];
}
我有同樣的問題。我解決了它。它發生在您的應用程序內存確實收到內存警告時。
將一個斷點放到memoryDidReceiveWarning中。它被調用,並清除你的類對象的內存。所以你的viewDidLoad被調用了兩次,因爲它當時沒有內存。
- 1. Xcode 4 - svn問題
- 2. viewDidLoad問題
- 3. ViewDidLoad的問題
- 4. viewdidLoad/viewDidAppear問題
- 5. xcode viewDidLoad
- 6. XCode 4編譯問題
- 7. Xcode 4窗口問題
- 8. XCode 4遷移問題
- 9. XCode 4構建問題
- 10. Xcode 4圖標問題!
- 11. 問題在和Xcode 4
- 12. xcode 4中的新問題
- 13. 屬性ViewDidLoad問題
- 14. viewdidload issue xcode 4.2
- 15. viewDidLoad中和的loadView問題
- 16. 問題與ViewDidLoad方法
- 17. 問題在ViewDidLoad中加載plist到NSArray
- 18. Xcode 4組件方向問題
- 19. 的AdWhirl整合問題在Xcode 4
- 20. xcode 4發佈版本問題
- 21. Xcode 4中的多個筆尖問題
- 22. 基本xCode 4構建問題
- 23. iPhone Xcode 4文件捆綁問題
- 24. Xcode 4中的Git倉庫問題
- 25. Xcode 4代碼簽名歸檔問題
- 26. Xcode 4 libxml/...未找到,新問題
- 27. Xcode 4,子項目導入問題
- 28. 在Xcode 4中設置SVN問題
- 29. 在xcode 4上導入框架問題
- 30. 問題XIB中新的Xcode 4
您的viewDidLoad僅爲特定的UIViewController或所有視圖控制器調用兩次?另外,你如何知道它在同一個viewController(breakpoints,nslog)上被調用兩次?爲了確保它是相同的UIViewController,你可以在viewDidLoad中做NSLog(@「調用兩次%p」,self)。 %p將顯示對象的十六進制地址。 – Sam 2011-03-11 22:47:20
斷點和nslog語句。它只發生在xcode 4中,我昨晚下載了3.2.6,並且該項目在那裏運行良好。它是應用程序首次啓動時唯一的我的rootviewcontroller。在完成測試並將其推送到應用商店後,我會再次嘗試xcode 4以及您提到的日誌聲明。我真的認爲它的xcode 4,它是一個通用的應用程序,具有獨立的筆尖,啓動時它們加載完全不同的代碼,但它發生在這兩個和theres裏,沒有什麼新鮮的,我的ipad應用程序已經通過蘋果公司的全面測試和認可。 – Renegade428 2011-03-12 16:22:05
當你解決問題時,我很想知道那些NSLog發生了什麼。祝你一切順利。 – Sam 2011-03-14 19:51:23