簡體   English   中英

EXC_BAD_ACCESS錯誤?

[英]EXC_BAD_ACCESS Error?

在我的應用中是一個非常非常乏味的錯誤! 幾乎每次我構建應用程序時,都會出現“ EXC_BAD_ACCESS”錯誤! 沒關系,可能會有錯誤,但是如果我再次嘗試構建應用程序,則錯誤會再次出現,但會出現另一行代碼!

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
UIStoryboard *mainStoryboard = nil;
if ([[UIScreen mainScreen] bounds].size.height <= 480) {
    mainStoryboard = [UIStoryboard storyboardWithName:@"Main" bundle:nil];
} else {
    mainStoryboard = [UIStoryboard storyboardWithName:@"Main4er" bundle:nil];
}

self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
[self.window setRootViewController:[mainStoryboard instantiateInitialViewController]];
[self.window makeKeyAndVisible]; // HERE THE ERROR COMES SOMETIMES
return YES; }

我不知道我的錯在哪里! 我不使用發行版,請保留-開始開發應用程序時將其關閉!

有時錯誤來自以下行:

UILabel * labelNiederlage = [[UILabel alloc] initWithFrame:CGRectMake(243, -2, 40, 26)];

有人可以幫我嗎?

就像一個想法一樣,如果您使用情節提要,則可以安全地刪除這些行

UIStoryboard *mainStoryboard = nil;
    if ([[UIScreen mainScreen] bounds].size.height <= 480) {
        mainStoryboard = [UIStoryboard storyboardWithName:@"Main" bundle:nil];
    } else {
        mainStoryboard = [UIStoryboard storyboardWithName:@"Main4er" bundle:nil];
    }
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
[self.window setRootViewController:[mainStoryboard instantiateInitialViewController]];

制作兩個不同屏幕高度的情節提要板也是一個壞主意,因為您可以在單個情節提要中制作動態高度的元素

可能是因為您不使用屬性,您的應用程序失敗了, mainStoryboad必須是(strong, nonatomic)並且必須具有對指針的強引用(使用屬性時會自動維護該指針,即self.mainStoryboad

從幾行代碼中很難分辨出來。 正如Dig所說,您的分鏡腳本可能不會保留。 不過,我還是建議采用以下方法:

1)確保您的某處沒有懸空指針,這很可能是問題的根源。

->看一下您對情節提要板(以及其他!)的處理方式。 你以某種方式保留它嗎? 按照約定,storyboardWithName返回一個自動釋放的對象。 如果沒有任何幫助,您可能需要自己保留。 其他人也一樣。

->在啟用僵屍模式的情況下運行樂器,您可能會發現一些有趣的東西。 我建議啟用此功能並保留數量

2)如果您不能通過此工具發現它,請在一個幾乎沒有故事板的新項目中構建一個簡單的測試用例。 這可能有助於找出問題所在。

3)將您的代碼與一個有效的示例進行比較。 他們有很多。 只需找出其中之一即可。

希望這可以幫助。

每當您遇到此類錯誤時,您都可以使用“ 僵屍對象”來提示發生了什么問題。

轉到“ YourProjectName” (停止btn旁邊的右側) ->“編輯方案”->“啟用Guard Malloc啟用Zombi對象” 然后只需設置制動點,看看發生了什么。

但是,這是相當昂貴的操作,因此您可能要在解決問題時將其關閉。

問候,

托里斯

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM