OC基础
文章平均质量分 72
诗未冷
程序员修炼之路
展开
-
OC基础-OC三大基本数据结构-NSDictionary
一、Dictionary概述字典中的元素是以键值对的形式存储的。如@"诗未冷"和@"1"组成了一个键值对。@"诗未冷"是value,@"1"是key。键值对的值和键可以是任意对象,但是键一般都使用字符串。字典存储对象的地址是没有顺序的。二、Dictionary的使用//1.创建字典对象 NSDictionary * dictionary = [[NSDict原创 2015-09-25 14:31:18 · 1700 阅读 · 0 评论 -
UIWebView使用示例(一)
一、UIWebView概述类似Android中的WebView,使用一个视图控件在屏幕中加载显示网络链接、本地html文件、HTML代码等。在iOS API中,提供了三种方法:用来实现这些功能:- (void)loadRequest:(NSURLRequest *)request; - (void)loadHTMLString:(NSString *)string baseU原创 2015-11-29 14:30:28 · 1079 阅读 · 0 评论 -
OC基础-设计模式之通知中心(广播)
一、概念通知中心NSNotificationCenter,也就是广播,和java类似。消息发送者通过通知中心将消息发送给消息接受者。通知中心是一个单例。二、消息的发送和消息的接收1.消息类型通知中心发送的消息是一个类NSNotification的对象,一个消息对象包含的内容:@interface NSNotification: NSObject -(NSString原创 2015-10-15 17:42:04 · 1248 阅读 · 0 评论 -
OC基础-单例设计模式
一、概念单例的概念和JAVA中原理类似,就是在整个程序声明周期中,该对象始终只有一份保存在内存中。单例对象是全局变量,方便数据共享。二、单例的经典写法static id sharedMyManager; +(id)sharedThemeManager{ if(sharedMyManager == nil){ sharedMyManager = [[self原创 2015-10-15 00:39:49 · 560 阅读 · 0 评论 -
OC基础-拷贝
一、概念理解拷贝是将原有的对象拷贝一份,获得一个新的对象。copy和retain的区别:如果retain一个对象,对象始终只有一个,修改的知识对象中的计数器,增加一个引用,多个引用指向同一内存空间,如果其中一个引用修改了对象的属性,则对象的属性发生改变。如果copy一个对象,将获得一个新的对象,对新对象的[mutable]copy操作,和原对象没有关系。拷贝分浅拷贝和深原创 2015-10-14 21:10:37 · 774 阅读 · 0 评论 -
OC基础-内存管理(三)AutoreleasePool
一、AutoreleasePool概念AutoreleasePool:自动释放池,是OC的一种内存自动回收机制,可以将一些临时变量通过自动释放池来回收统一释放。当自动释放池本身销毁的时候,池子里面的所有对象都会做一次release操作。任何OC对象只要调用autorelease方法,如:[dog1 autorelease],就会把该对象放到离自己最近的自动释放池中(最近的释放池也就是处于栈原创 2015-10-14 16:29:45 · 603 阅读 · 0 评论 -
OC基础-内存管理(一)基础原理与黄金法则
一、OC内存管理的原理1.C/C++内存管理的缺陷实例说明:int * p1 = malloc(100);int * p2 = p1;int * p3 = p1;Free(p2);...Free(p2);第一次Free(p2),释放内存,因为p1,p2,p3指向的是同一块内存空间地址,释放了p2也就是释放了地址所指向的内存空间,这样p1,p2,p3也就成了野指针原创 2015-10-02 11:04:06 · 630 阅读 · 0 评论 -
OC基础-内存管理(二)MyArray解释addObject原理
一、看MutableArray中的addObject之后的retainCountDog.h#import @interface Dog : NSObject{ int _ID;}@property (assign) int ID;@endDog.m#import "Dog.h"@implementation Dog@synthesize ID = _ID原创 2015-10-02 11:58:08 · 715 阅读 · 0 评论 -
OC基础-NSValue类簇-将复杂数据类型保存为对象
一、NSValue概述NSValue类是NSNumber类的父类,也是一个类簇,NSNumber类用于对简单数据类型进行装箱,变成对象;NSValue类用于对复杂数据类型(指针、结构体)进行装箱,变成对象。二、NSValue的使用1.创建对象--装箱将结构体封装成对象,以对象的形式展现#import struct Student{ int age;原创 2015-09-25 19:08:34 · 604 阅读 · 0 评论 -
OC基础-OC三大基本数据结构-NSArray
一、OC三大基本数据结构之NSArray基类:NSArray不可变数组,数组一旦创建,数组的元素个数和顺序不可变。子类:NSMutableArray可变数组,继承了基类的方法,又有自己的关于修改元素个数和顺序的方法。二、NSArray的使用1.创建数组 NSArray * array1 = [[NSArray alloc] initWithObjects:@"原创 2015-09-25 14:11:28 · 1562 阅读 · 1 评论 -
OC基础-NSNumber类簇-将简单数据类型保存为对象
一、NSNumber类的由来例如:在数组中保存数字,由于数组存储的都是对象的地址,是无法保存数字的,需要将数字转成对象,才能在数组中保存。例如:字典保存一个文件的名称和文件的大小,因为文件的大小是一个数字,所以字典是无法存储的.这时,就需要一个类,能够将一个数字以对象的形式展现。这个类就是NSNumber。二、NSNumber类1.创建类的对象NSNumber *原创 2015-09-25 16:04:41 · 797 阅读 · 0 评论 -
OC基础-Category的用法
一、Category概述用于对已有类新增额外的自定义的方法。在Objective-C中,给一个类扩展一个其它方法,有两种实现方式:类别和继承。以下情况必须使用继承。1.新扩展的方法与原方法同名,但是还需要使用父类的实现。因为使用类别,会覆盖原类的实现,无法访问到原来的方法。2.扩展类的属性,这个类别无法做到。继承使用情况:// ViewControllerEx原创 2015-09-25 20:41:45 · 630 阅读 · 0 评论 -
OC基础-NSSet集合
一、集合的概念集合中的元素是无序不重复的。集合和数组类似,区别在于:数组的元素是有序的,集合的元素是无序的。集合的种类:NSSet-NSMutableSetNSIndexSet-NSMutableIndexSet二、NSSet的使用1.创建集合NSSet * set = [[NSSet alloc] initWithObjects: @"one", @"原创 2015-09-25 17:55:19 · 685 阅读 · 0 评论 -
OC基础-OC三大基本数据结构-NSString
一、OC三大基本数据结构概述1.NSString: OC中的字符串。基类:NSString: 字符串,不可变字符串,对象一旦创建,字符串的长度和内容不可变。子类:NSMutableString: 可变字符串。2.NSArray: OC中的数组。数组对象存储的地址是有顺序的元素。基类: NSArray:数组子类: NSMutableArray 可变数组3.NSDicsti原创 2015-09-25 13:37:45 · 1633 阅读 · 0 评论 -
OC基础-继承
一、继承的理解继承的概念可以理解为集合的包含关系,不应以现实中的继承来理解。因为继承涉及到一个父类和子类的关系,儿子继承了父亲可以理解,但是人类继承了动物就难以理解了。父类:ParentClass、SuperClass,子类:ChildClass、SubClass。继承是为了方便对类的管理,对于一些有共性的属性和方法,可以将这些属性和方法抽象出来,作为一个父类,其他子类可以继承父类的这些属原创 2015-09-25 22:44:26 · 493 阅读 · 0 评论 -
OC基础-NSData-字节流数据
一、NSData概述NSData是用来存储字节流的空间。类似于C和Java中缓冲流,char buf[10]这个对文件的传输非常重要,将各种类型的文件数据转换成字节流数据,方便传输。二、NSData的使用NSString * str = @"hello hello world world"; //字符串--->NSData字节流数据 NSDa原创 2015-09-25 20:06:52 · 4671 阅读 · 0 评论