ios基础知识点

1.内存管理


用内存引用计数来进行管理;

alloc, retain, copy会使内存引用计数立即+1;

当对象使用结束后要对它进行释放 ,release(立即-1) ,autorelease(未来-1);

autorelease的对象会把这个对象放置到离它最近的自动释放池里,自动释放池释放的时候才会把自动释放池中的所有对象的内存引用计数-1;

当对象被添加到容器里时,内存引用计数+1;

从容器里移除时,内存引用计数-1.


 2.视图控制器的执行顺序


1.alloc 创建对象,分配内存;

2.init 初始化;

3.loadView 创建视图(如果没有使用xib,storyboard可以重写);

4.viewDidLoad loadView配套使用

5.viewWillAppear 视图创建完成,将要显示

6.viewDidAppear 视图已经显示

7.viewWillDisappear  用于切换界面

8.viewDidDisappear   用于切换界面

9.dealloc  视图被销毁,释放创建的对象

 3.类的扩展

继承 类目 延展 协议


1.类目 Category

命名 : @interface 要扩展的类名 (类目名) ~~ @end

特点 :  1.不可定义成员变量,而且一般不定义属性

       2.可以添加方法,可重写原始类的方法,原始类的对象调用



2.延展 Extension

命名 : 写在.m文件里 @interface 类名 () ~~ @end

特点 : 1.添加类的私有属性和方法;



3.协议 Protocol

命名 : @protocol 协议名 <NSObject> ~~ @end

      @required 不写是默认的,必须实现 @optional 可实现可不实现

特点 : 1.只声明,不实现

      2.为了解决多继承问题

      3.@property (nonatomic, assign) id<协议名> delegate;

       assign 为了防止循环拥的释放问题




 4.TableView代理的执行顺序


1.UItableViewDataSource numberOfSectionsInTableView 确定有几个分区


2.UItableViewDataSource numberOfRowsInSection 每个分区有几行


3.UItableViewDataSource cellForRowAtIndexPath 确定每行的cell


4.UITableViewDelegate didSelectRowAtIndexPath 转中改行,进入下一界面


 5.单例


单例 一个类只有一个实例,自行实例化并向整个系统提供这个实例,一个单例类可以实现在不同的窗口之间传递数据。


 1. 内存为1且只初始化一次

 2. 永远不释放

 3. 任何地方都可以使用

 4. 多个界面的公共传值



6.数据存储

内存

       简单数据 : NSString, NSDictionary, NSArray, NSData

 NSArray *array = NSSearchPathForDirectoriesInDomains(NSLibraryDirectory, NSUserDomainMask, YES);

 NSString *library = [array firstObject];

 library = [NSString stringWithFormat:@"%@/number", library];

 NSString *string = @"123456789";

 [string writeToFile:library atomically:YES encoding:NSUTF8StringEncoding error:nil];

       复杂数据 : 系统提供之外的类型(也就是model)

复杂数据存储原理 : model类型的对象归档(序列化) NSData类型的对象,然后将NSData类型对象进行存储

硬盘  NSFileManager  管理硬盘上的东西

沙盒机制 ,ios的安全机制

1. Bundle文件夹 里面有 ---> (1)代码 * (2)资源文件夹 * (3)配置文件         

特性 : (1) 内容在程序运行期间为只读,不能够进行任何的修改               

      (2) 只有在开发期间进行修改

2. Documents文件夹

            特性 : (1)大小限制(文件夹里的内容会自动上传到iCloud)

                  (2)一般放数据库

                  (3)整个应用程序,从开始到删除一直存在的东西

3. Library文件夹 里面有 ---> (1)Caches[缓存] * (2)Preference[配置]

             (1)Caches 特性: 1. 放图片缓存

                            2. 网络数据存储(缓存)

             (2)Preference 特性: NSUserDefaults存到preference

4. tmp文件夹 临时性文件夹 ---> 数据只用一次,即用完就删

            例如 : 把压缩包解压, 解压完的东西放在tmp





  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值