[英]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.