`
- 浏览:
85846 次
- 性别:
- 来自:
北京
-
一,Unknown type name ....
如果是报这个错误,多半是你的对象类型没有被识别,检查是不是没有引用对应的库或者头文件在你的文件头部分,还有可能是循环引用导致的,循环引用的解决方法就是
Class A 中用import Class B
Class B的.h头文件里用@class A;
.m文件里再用import
二,EXC_BAD_ACCESS
首先说一下 EXC_BAD_ACCESS 这个错误,可以这么说,90%的错误来源在于对一个已经释放的对象进行release操作。
Objective-C 这段代码有三个致命问题:1、内存泄露;2、错误释放;3、造成 EXC_BAD_ACCESS 错误。
1, NSString* s = [[NSString alloc]initWithString:@”This is a test string”]; 创建了一个 NSString Object,随后的 s = [s substringFromIndex:[s rangeOfString:@"a"].location]; 执行后,导致创建的对象引用消失,直接造成内存泄露。
2,错误释放。[s release]; 这个问题,原因之一是一个逻辑错误,以为 s 还是我们最初创建的那个 NSString 对象。第二是因为从 substringFromIndex:(NSUInteger i) 这个方法返回的 NSString 对象,并不需要我们来释放,它其实是一个被 substringFromIndex 方法标记为 autorelease 的对象。如果我们强行的释放了它,那么会造成 EXC_BAD_ACCESS 问题。
3, EXC_BAD_ACCESS。由于 s 指向的 NSString 对象被标记为 autorelease, 则在 NSAutoreleasePool 中已有记录。但是由于我们在前面错误的释放了该对象,则当 [pool drain] 的时候,NSAutoreleasePool 又一次的对它记录的 s 对象调用了 release 方法,但这个时候 s 已经被释放不复存在,则直接导致了 EXC_BAD_ACCESS问题。
分享到:
Global site tag (gtag.js) - Google Analytics
相关推荐
iOS安全学习笔记的知识点涵盖了多个方面,从学习资料的搜集到优秀博客文章和GitHub资源的整理,这为iOS安全研究者提供了一个丰富的资源库。以下是对上述内容中提及知识点的详细说明: 1. iOS安全学习资料汇总 首先...
这个"ios学习笔记---simpleping"旨在帮助初学者理解如何在iOS应用中实现简单的网络探测功能。 SimplePing是一个基于Objective-C的类,它提供了对ICMP(Internet Control Message Protocol)协议的支持,这个协议被...
在iOS学习的过程中,笔记是积累知识、巩固理解的重要工具。"IOS学习笔记补充1"是对前期学习内容的进一步丰富和完善,旨在帮助开发者更好地理解和掌握iOS开发的关键知识点。这份笔记不仅适用于初学者,对于有一定经验...
在iOS应用开发中,用户界面的设计与体验是至关重要的,其中按钮(UIButton)作为用户交互的核心元素之一,其美观程度和可操作性直接影响了用户的使用感受。本篇笔记主要探讨如何利用背景图来美化iOS应用中的按钮,以...
这份“iOS学习笔记,技术道路走到黑.zip”资源包含了一个名为"I-Love-iOS_master.zip"的子文件和一个“说明.txt”,它们可能是作者整理的iOS学习路径和代码示例。 首先,Swift语言是苹果公司在2014年WWDC上发布的...
这篇“iOS学习笔记 --SQLite3”旨在帮助新手掌握如何在iOS应用中使用SQLite3进行数据管理,包括创建数据库、插入数据、查询数据等基本操作。 首先,我们需要了解SQLite3的基本概念。SQLite3是一个嵌入式的关系型...
苹果iOS8.1.2正式版的发布主要聚焦于修复一系列影响用户体验的Bug,旨在提高系统稳定性和性能。尽管这次更新并未引入显著的新特性或功能,但针对已知问题的解决对于保持系统的顺畅运行至关重要。 首先,最值得注意...
【iOS学习笔记】 在iOS开发领域,理解和掌握基础UI组件是至关重要的,因为它们构成了用户与应用程序交互的主要界面。这份笔记将深入探讨一些关键的概念和技术,帮助初学者建立起扎实的iOS开发基础。 首先,我们来...
// [self changeNavigationState]; //改变状态栏 和 导航栏的状态 // [self changeImageScale];...// [self viewAnimation]; //View的动画 // [self imgToGrayimg]; //UIImage转为灰度图 // [self ...
### iOS学习笔记:UI控件详解 在iOS应用开发中,UI控件是构建用户界面的基础元素,它们决定了应用程序的外观和用户体验。...希望这份学习笔记能为iOS初学者提供有价值的指导,助力于他们的编程之旅。
综上所述,这份"iOS学习笔记"涵盖了Swift编程、UIKit框架、数据管理、网络编程、UI设计、通知服务以及测试与优化等多个重要领域,是全面学习iOS开发的宝贵资料。通过深入学习和实践,你可以逐步成为一名熟练的iOS...
《懒人笔记:一个iOS开源笔记App的深度解析》 懒人笔记,作为一个曾经活跃的iOS开源项目,为开发者提供了一个便捷的、可定制化的笔记应用框架。虽然它已不再维护,但其代码库仍能为我们揭示iOS应用开发的一些关键...
此学习笔记,提供了学习IOS的路线图,方便大家有目的的去学习。大家可以根据学习路线去百度查找相关的学习资料。
本笔记将聚焦于“项目三”,这是一个典型的iOS应用程序,包含下拉刷新和上拉加载功能。这两个特性是现代移动应用不可或缺的部分,它们提升了用户体验,使得用户可以无缝地获取新数据。 下拉刷新(Pull-to-Refresh)...
收集了8本格式为PDF的高清iOS开发书籍,以分享给想学习iOS的朋友,欢迎共同探讨学习。正在不断更新中...
本文档基于给定的“iOS学习笔记”,深入探讨iOS应用程序生命周期的关键概念、阶段以及如何处理这些阶段。 #### 二、基础知识 **1.1 入口点:** iOS应用的入口点位于`main.m`文件中的`main`函数。此函数通过调用`...
"iOS学习进程中的demo汇总.zip"这个压缩包,显然是为了帮助iOS开发者或者学习者收集了一系列关键的示例代码,以便于理解和掌握iOS应用开发的核心技术。它包含了Swift编程语言、iOS平台以及macOS平台的相关知识。 ...
在本篇“iOS史上最全的UI笔记”中,作者承诺提供一系列详细的UI学习资料,旨在帮助开发者快速掌握iOS UI设计和开发的相关知识。 首先,笔记提到了UIUserInterfaceIdiom,这个术语涉及到根据设备的类型(比如iPhone...