OC学习笔记-Foundation框架(二)

来源:互联网 发布:淘宝付款自动关闭订单 编辑:程序博客网 时间:2024/06/09 18:24

------<a href="http://www.itheima.com" target="blank">Java培训、Android培训、iOS培训、.Net培训</a>、期待与您交流! -------


NSArray的使用和介绍

什么是NSArray?

NSArray是oc的数组类,开发中建议尽量使用NSArray来代替c语言中的数组

2.NSArray的创建

pastedGraphic.png

3.NSArray的使用注意:

1).NSArray直接使用NSLog()作为字符串输出时是小括号括起来的形式。

2).NSArray中不能存储nil,因为NSArray认为nil是数组的结束(nil是数组元素结束的标记),nil就是0,0也是基本数据类型,不能存放到NSArray中

3).NSArray *array = [NSArray array]; //这样的数组永远是空的,不可能向其中增加值。(不可变性) 

4).只能存放任意OC对象,并且是有顺序的

5).不能存储非OC对象,比如int\float\double\char\enum\struct等

6).它是不可变的,一旦初始化完毕后,它里面的内容就永远是固定的,不能删除里面的元素,也不能再往里面添加元素 

4.NSArray 的常见用法

pastedGraphic.png


5.用简化的方式定义数组

1).格式:@[数组元素];

例:NSArray *arr =@[@"1",@"one",@"3",@4,@"ONE"];

2).用简化的方式访问数组

例:NSString *str =arr[1];    c语言形式的数组元素访问

6.对数组进行遍历

pastedGraphic_1.png

7.把NSArray中的内容写到文件里

例:NSArray *arr=[NSArray arrayWithObjects:@"a",@"b",@1,@"c" ,nil];

     if  [arr writeToFile:@"/Users/liu liu/Desktop/arr .xml"atomically:YES]{

             NSLog(@"写入成功");

}

8.读取文件中的内容


NSArray *arr = [NSArrayarrayWithContentsOfFile:@"/Users/liwei/Desktop/arr.plist"];

            NSLog(@"%@",arr); 

9.NSArray与字符串 

pastedGraphic_1.png


二.NSMutableArray

1.NSMutableArray是NSArray的子类,NSMutableArray是可变的, 随时可以往里面添加\更改\删除元素 


2.数组的创建

pastedGraphic_2.png

3.NSMutableArray及基本使用 

pastedGraphic_3.png

三.集合对象的内存管理


1.当一个对象加入到集合中,那么该对象的引用计数会+1,当集合被销毁的时候,集合会向集合中的元素发送release消息 

2.集合对象内存管理原则:

1).当调用alloc、new、copy(mutableCopy)方法产生一个新对象的时候,就必须在最后调用一 次release或者autorelease

2).当调用retain方法让对象的计数器+1,就必须在最后调用一次release或者autorelease 

3.集合的内存管理细节

1). 当把一个对象添加到集合中时,这个对象会做了一次retain操作,计数器会+1
2). 当一个集合被销毁时,会对集合里面的所有对象做一次release操作,计数器会-13> 当一个对象从集合中移除时,这个对象会一次release操作,计         数器会-1

4.普遍规律
1).如果方法名是add\insert开头,那么被添加的对象,计数器会+1

2).如果方法名是remove\delete开头,那么被移除的对象,计数器-1


iOS沙盒(sandbox机制)

1、模拟器沙盒目录
文件都在个人用户名文件夹下的一个隐藏文件夹里,中文叫资源库,他的目录其实是Library。

因为应用是在沙箱(sandbox)中的,在文件读写权限上受到限制,只能在几个目录下读写文件:

Documents:应用中用户数据可以放在这里,iTunes备份和恢复的时候会包括此目录
tmp:存放临时文件,iTunes不会备份和恢复此目录,此目录下文件可能会在应用退出后删除
Library/Caches:存放缓存文件,iTunes不会备份此目录,此目录下文件不会在应用退出删除


iTunes在与iPhone同步时,备份所有的Documents和Library文件。
iPhone在重启时,会丢弃所有的tmp文件。


查看方法:
方法1、可以设置显示隐藏文件,然后在Finder下直接打开。设置查看隐藏文件的方法如下:打开终端,输入命名
(1)显示Mac隐藏文件的命令:defaults write com.apple.finder AppleShowAllFiles -bool true
(2)隐藏Mac隐藏文件的命令:defaults write com.apple.finder AppleShowAllFiles -bool false
(3)输完单击Enter键,退出终端,重新启动Finder就可以了 重启Finder:鼠标单击窗口左上角的苹果标志-->强制退出-->Finder-->
现在能看到资源库文件夹了。 
打开资源库后找到/Application Support/iPhone Simulator/文件夹。这里面就是模拟器的各个程序的沙盒目录了。
方法2、这种方法更方便,在Finder上点->前往->前往文件夹,输入/Users/username/Library/Application Support/iPhone Simulator/  前往。
username这里写用户名。 


0 0
原创粉丝点击