A.集合的手动内存管理 NSArray addObject: 加入的元素执行一次retain removeObject: 被删除的元素执行一次release removeAllObjects: 所有元素执行一次release     B.ARC机制集合内存分析 当一个对象被放入集合中时,会保存它的强指针 当一个对象被从集合中删除的时候,会删除它在集合中的强指针 当集合的指针被置为nil,其中的全部元素指针也会被置为nil   Q:当使用不同的方法初始化集合的时候,出现了不同的回收顺序 @auto…
Foundation框架—集合 一.NSArray和NSMutableArray (一)NSArray不可变数组 (1)NSArray的基本介绍 NSArray是OC中使用的数组,是面向对象的,以面向对象的形式操纵对象,是不可变数组. C语言数组有一个缺点即数组中只能存放同种数据类型的元素. OC数组只能存放OC对象,不能存放非OC对象,如int,结构体和枚举等 OC数组实际是指针数组-oc对象是用指针指向的,数组实际存放的是指向oc对象的指针. (2)NSArray的创建 //实例方法 NSA…
1. 什么是内存管理 程序在运行的过程中通常通过以下行为,来增加程序的的内存占用 创建一个OC对象 定义一个变量 调用一个函数或者方法 而一个移动设备的内存是有限的,每个软件所能占用的内存也是有限的 当程序所占用的内存较多时,系统就会发出内存警告,这时就得回收一些不需要再使用的内存空间.比如回收一些不需要使用的对象.变量等 如果程序占用内存过大,系统可能会强制关闭程序,造成程序崩溃.闪退现象,影响用户体验 所以,我们需要对内存进行合理的分配内存.清除内存,回收那些不需要再使用的对象.从而保证程序…
前言 框架是由许多类.方法.函数和文档按照一定的逻辑组织起来的集合,以使研发程序更容易. Foundation 框架:为所有程序开发奠定基础的框架称为 Foundation 框架. Cocoa :是指 Foundation .Core Data 和 AppKit(Application Kit)框架.用于 Mac OS X 设备上的应用程序开发. Cocoa Touch :是指 Foundation .Core Data 和 UIKit 框架.用于 iOS 设备上的应用程序开发. 1.Found…
可变的NSArray,可以随意添加OC对象   1.创建 void arrayCreate() { NSMutableArray *array = [NSMutableArray arrayWithObject:"]; [array addObject:"]; [array addObject:"]; [array removeObject:"]; NSLog(@"%@", array); }   NSMutableArray 不能使用@[]创建…
一.基本知识 Foundation—基础框架.框架中包含了很多开发中常用的数据类型,如结构体,枚举,类等,是其他ios框架的基础. 如果要想使用foundation框架中的数据类型,那么包含它的主头文件就可以了. 即#import<foundation/foundation.h> 补充:core foundation框架相对底层,里面的代码几乎都是c语言的,而foundation中是OC的. 二.常用的结构体介绍及简单使用 常用的结构体: (一)NSRang的基本使用 创建变量 (二)NSPo…
一.Foundation框架中一些常用的类 字符串型: NSString:不可变字符串 NSMutableString:可变字符串 集合型: 1) NSArray:OC不可变数组 NSMutableArray:可变数组 2) NSSet: NSMutableSet: 3) NSDictiorary NSMutableDictiorary 其它: NSDate NSObject 二.NSString和NSMutableString的使用与注意 (一)6种创建字符串的形式 (二)使用注意 (1)字符…
通过唯一的key找到相应的value,类似于Map NSDictionary是不可变的   1.创建 void dicCreate() { //Immutable // NSDictionary *dic = [NSDictionary dictionary]; NSDictionary *dic = [NSDictionary dictionaryWithObject:@"Simon" forKey:@"name"]; dic = [NSDictionary di…
A.NSSet 跟NSArray一样,不可变 NSArray 自然顺序 NSSet是无序的 NSSet不允许存入重复元素,可以用来过滤重复元素   也有可变的NSMutableSet   B.集合转换 // 1.NSArray 转换成 NSMutableArray NSArray *array = @[@"one", @"two", @"three"]; NSMutableArray *muArray = [NSMutableArrayarray…
A. 目录管理 NSFileManager*manager = [NSFileManagerdefaultManager];//单例模式 // 1.获取文件属性 NSString *path = @"/Users/hellovoidworld/desktop/oc/test20141121.txt"; NSFileManager *manager = [NSFileManagerdefaultManager]; // 单例模式 NSDictionary *attrDic = [mana…