OC基础(18)】的更多相关文章

Category基本概念 Category注意事项 *:first-child { margin-top: 0 !important; } body > *:last-child { margin-bottom: 0 !important; } a { color: #4183C4; } a.absent { color: #cc0000; } a.anchor { display: block; padding-left: 30px; margin-left: -30px; cursor: p…
OC基础(1) Objective-C简介 OC和C对比 第一个OC程序 面向对象思想 OC基础(2) 类与对象 类的设计 第一个OC类 对象方法的声明和实现 类方法的声明和实现 OC基础(3) 对象的存储细节 函数与方法对比 常见错误 OC基础(4) NSString 类介绍及用法 结构体成员变量 对象和方法之间的关系 对象作为方法的参数连续传递 OC基础(5) #pragma mark指令 OC多文件开发介绍 匿名对象 OC基础(6) getter/setter方法 点语法 Self关键字…
"OC基础"这个分类的文章是我在自学Stephen G.Kochan的<Objective-C程序设计第6版>过程中的笔记. 17.Foundation框架的数组是有序的对象集合.一般来说这些对象元素会是同一种类型,但是也可以不同. 18.不可变数组是由NSArray类处理的,可变数组是有NSMutableArray类处理的.NSMutableArray类是NSArray类的子类. 19.NSArray类常见方法: (1).NSArray *xxx = [NSArray a…
"OC基础"这个分类的文章是我在自学Stephen G.Kochan的<Objective-C程序设计第6版>过程中的笔记. 1.  函数和方法的区别? (1).方法包含在类内部,而函数不用包含在类里面: (2).方法就是函数的一种. 2.数组中某个元素的读法,比如grades [5]读作“grades sub 5”. 3.关于C语言的数组元素的初始化: (1).直接列出所有元素的值,比如: int integer[5] = {1, 2, 3, 4, 5}; char le…
"OC基础"这个分类的文章是我在自学Stephen G.Kochan的<Objective-C程序设计第6版>过程中的笔记. 1.关于分类(category): (1).分类用来拓展现有的类,增加方法,同时可以不必访问主类的源代码,也不用创建子类: (2).只能增加方法,不能增加变量: (3).在代码中也只需要import进父类的h文件,不能编写任何继承的语法,因为不是子类: (4).在分类里添加的新方法会被子类继承. 2.编写一个分类的模板: 原类是MyClass,分类的…
OC基础语法已经全部学完,但是这些知识只是最基础的,还有很多高级知识,这个可能需要后面慢慢的去学习才能体会到.接下来我会总结前面的OC基础语法,如果大家发现有什么不正确的地方,请指正,小弟是新生,多请OC老鸟来喷~~ 试题如下: 1.将包含以下三个字符串@“1hello“,@“2word“,@”3good“的数组改写为字典,数字部分作为key,英文部分作为value.(15) 2.建立一个数组对象,使用3个不同的方法,使其引用计数增加为4,输出这个值,然后保证内存能够正确释放.(15) 3.使用…
[.net 面向对象编程基础] (18) 泛型 上一节我们说到了两种数据类型数组和集合,数组是指包含同一类型的多个元素,集合是指.net中提供数据存储和检索的专用类. 数组使用前需要先指定大小,并且检索不方便.集合检索和声明方便,但是存在类型安全问题,本来使一个类型安全的C#变得不安全了. 集合为了解决数组预设大小的问题,采取了一种自动扩容的办法,这样当大小不够时,他就创建一个新的存储区域,把原有集合的元素复制过来.如此又对性能上也是有很大的影响. 上节我们说到解决这些缺陷的方法,那就是.NET…
iOS学习(OC语言)知识点整理 一.OC基础知识 1)#import  用于导入头文件,预处理阶段加载引用,只加载一次. 2)OC 依赖于Foundation框架下的头文件Foundation.h,此文件必须引用加载. 3)相较于C语言的导入头文件,头文件需要加上条件编译(#ifndef #define  #endif):防止头文件被多次包含 4)OC中关键字前面添加@符,字符串前面也需添加@符. 5)@autoreleasepool自动释放池:应用程序执行的语境,好处:应用程序会自动对内存进…
OC基础  文件管理 1.文件管理类NSFileManager对象的创建: NSFileManager *fm = [NSFileManager defaultManager]; 2.文件操作: (1)遍历查看目录下的文件: a.遍历查看目录下的文件:contentsOfDirectorAtPath:(NSString *)path error:(NSError **)error: b.深度遍历,子目录也遍历:subPathsOfDirectorAtPath:(NSString *)path e…
OC基础  NSDate #import <Foundation/Foundation.h> int main(int argc, const char * argv[]) { @autoreleasepool { NSDate *date = [NSDate date]; NSLog(@"date = %@",date); //距离现在时间多少s之后的时间 NSDate *date2 = [NSDate dateWithTimeIntervalSinceNow:]; NS…
OC基础 NSData 1.NSString转NSData //NSString转NSData NSString *string = @"abcd12345"; NSData *data = [string dataUsingEncoding:NSUTF8StringEncoding]; NSLog(@"data = %@",data); 2.NSData转NSString //NSData转NSString NSString *string1 = [[NSStri…
OC基础 代理和协议 1.协议 (1)oc语言中得协议:一组方法列表,不需要我们自己实现,由遵守协议的类来实现协议所定制的方法. (2)协议的使用步骤:制定协议-->遵守协议-->实现协议-->调用协议. (3)协议声明的关键字: (a)@required,必须实现,不实现的话在.m文件内会报警告. (b)@optional,可选实现,不实现的话在.m文件内也不会报警告. (4)协议和继承的区别: (a)相同之处:都可以规范统一类中的方法. (b)不同之处:继承的子类不需要再实现一遍父类…
OC基础  内存管理 我们所了解的c语言内存管理,如下: (1)c语言的内存分配:char *p = (char*)malloc(100*sizeof(char)); (2)c语言的内存释放:free(p); c语言内存管理存在的缺陷: (1)不释放就会造成内存泄露. (2)多次释放就会造成崩溃. (3)大型项目中多人对一块内存进行操作时,不能释放内存,因为不知道别人是否还在使用. oc语言的内存管理 1.内存管理 (1)引用计数. (2)内存管理的黄金法则:谁创建谁释放. 让我们来看一下测试例…
OC基础  类的三大特性 OC的类和JAVA一样,都有三大特性:继承,封装,多态,那么我们就来看一下OC中类的三大特性. 1.继承 继承的特点: (1)子类从父类继承了属性和方法. (2)子类独有的属性和方法不能被父类使用. (3)子类独有的属性和方法,不能够在子类之间互相使用. (4)子类能够重写父类的方法,子类调用该方法时:首先调用子类的方法,如果子类没有该方法,就调用父类的该方法. (5)子类对象指针可以转换成父类对象指针,但是父类对象指针不能够转换成子类对象指针. 三种权限变量的继承:…
OC基础 点语法的使用 1.创建一个Student类继承于NSObject,Student.h文件 #import <Foundation/Foundation.h> @interface Student : NSObject { NSString *_name; NSString *_nickName; } //@property定义属性 //1,它给该类声明了一个属性名+下划线的变量 //2,它给该类声明了一个getter方法和一个setter方法 //修饰符 //atomic和nonat…
OC基础 可变字典与不可变字典的使用 1.不可变字典 1.1创建不可变字典 //创建字典 //注意: //1,元素个数是偶数 //2,每两个元素是一个键值对 //3,值在前,键在后 NSDictionary *dic = [[NSDictionary alloc] initWithObjectsAndKeys:",@"age", nil]; NSLog(@"%@",dic); //用一个字典来创建另外一个字典 NSDictionary *dic2 = [[…
OC基础 可变数组与不可变数组的使用 1.不可变数组 1.1不可变数组的创建 //实例方法 NSArray *array = [[NSArray alloc] initWithObjects:", nil]; NSLog(@"%@",array); //类方法 NSArray *array1 = [NSArray arrayWithObjects:", nil]; //实例方法 NSArray *array2 = [[NSArray alloc] initWithA…
oc基础  不可变字符串的创建和使用 简介:下面都是字符串基本用法. 1.字符串的创建 //创建oc常量字符串 NSString *str=@"hello world!"; NSLog(@"%@",str); //用c语言的字符串来创建oc的字符串 char *ch="hello world C"; NSString *str2=[[NSString alloc] initWithUTF8String:ch]; NSLog(@"%@&q…
"OC基础"这个分类的文章是我在自学Stephen G.Kochan的<Objective-C程序设计第6版>过程中的笔记. 1.归档即是用某种格式把一个或多个对象保存起来,以便以后还原回来的一个过程.一般归档数据有两种方法:属性列表归档和带键值的归档. 2.使用XML属性列表进行归档: (1).Mac OS X上的应用程序使用XML属性列表(或plists)来存储诸如默认参数选择.应用程序设置和配置信息这样的一些数据.然而这些列表的归档用途是有限的,因为当某个数据结构创建…
"OC基础"这个分类的文章是我在自学Stephen G.Kochan的<Objective-C程序设计第6版>过程中的笔记. 1.浅复制即是指针赋值,复制对象的修改会影响被复制对象:深复制即是真正的对象复制,会复制出来一个副本,这个副本和原对象是完全分开的. Foundation类实现了两个复制的方法:copy和mutableCopy.copy复制出来的是一个不可变的副本,mutableCopy复制出来的是一个可变的副本. 同时注意,产生一个对象的可变副本并不要求被复制的对…
"OC基础"这个分类的文章是我在自学Stephen G.Kochan的<Objective-C程序设计第6版>过程中的笔记. 1.什么是ARC? (1).ARC全名为Automatic Reference Counting,即是自动引用计数,会自动统计内存中对象的引用数,并在适当时候自动释放对象: (2).在工程中使用ARC非常简单:只需要像往常那样编写代码,只不过永远不用写retain. release和autorelease三个关键字: (3).在使用ARC之前,需要手…
"OC基础"这个分类的文章是我在自学Stephen G.Kochan的<Objective-C程序设计第6版>过程中的笔记. 1.对于NSFileManager类,文件的路径名的标识只能是文件名或目录.每个路径名都是一个NSString对象.这个路径可以是相对路径,也可以是绝对路径. 2.绝对路径以斜线(/)开始,斜线即是根目录.特殊的代字符(~)标识用户的主目录.但是在程序中应尽量避免使用硬编码的路径名,应使用方法和函数来处理路径或文件. 3.所有对文件的操作都要通过对N…
"OC基础"这个分类的文章是我在自学Stephen G.Kochan的<Objective-C程序设计第6版>过程中的笔记. 1.有时要将一些数字数据类型的值当做对象来使用,那么就可以使用NSNumber类,它会根据这些数据的类型创建对象. 2.注意以下代码段: ... NSNumber *num1, *num2, *num3;                             //NSNumber是类 NSInteger myInt;      //NSIntege…
"OC基础"这个分类的文章是我在自学Stephen G.Kochan的<Objective-C程序设计第6版>过程中的笔记. 19.定义一个int类型的指针: int count = 10; int *intPtr; intPtr = &count; 然后就可以引用这个指针: x = *intPtr; 带着间接寻址运算符*号才是指针的完整表达形式. 20.&号是取出它标示的变量的地址,*号是把它标示的变量的值当做地址去寻找内容. 注意指针名里面存的是地址.所…
"OC基础"这个分类的文章是我在自学Stephen G.Kochan的<Objective-C程序设计第6版>过程中的笔记. 1.  关于#define语句: (1).#define语句的用途就是给某个符号名称指定一个程序要用到的常量,比如: #define TRUE 1 这个语句的意思就是把TRUE指定为1,那么后续的程序中如果需要用到1来做判断或者计算,就可以直接使用TRUE这个符号名称了: (2).预定义名称不是变量,所以不能在程序过程中给它赋值,不能改变它的值: (…
"OC基础"这个分类的文章是我在自学Stephen G.Kochan的<Objective-C程序设计第6版>过程中的笔记. 1.有时候初始化需要让对象带有初始值,那么可以定义另一个初始化方法来使用,比如: -(XCLASS *) initWith: (int) n { self = [super init]; if(self) { [self setFunction: n];  // setFunction方法是指XCLASS定义的赋值方法 } return self;…
"OC基础"这个分类的文章是我在自学Stephen G.Kochan的<Objective-C程序设计第6版>过程中的笔记. 1.关于SEL类型的数据: (1).SEL类型的数据包含的是一个方法,使用@selector()把一个方法名包含在括号内,就可以取到这个方法,然后可以以这个数据作为参数去调用一些方法: (2).一般用于那些处理动态类型的方法中,比如有方法-(BOOL)respondToSelector: selector,这个方法是判断某个类能否响应某个方法.比如有…
"OC基础"这个分类的文章是我在自学Stephen G.Kochan的<Objective-C程序设计第6版>过程中的笔记. 1.根类即是最顶层的类,父类也可称为超类: 2.关于实例变量的继承: 只有声明在@interface部分的实例变量才能被子类继承:包括在类名后马上使用花括号声明的变量和使用@property声明的变量,都可以继承.如果完全声明在@implementation部分的变量,则属于私有变量,需要提供方法才能访问. 3.每个实例都有自己的一套实例变量,即使这…
"OC基础"这个分类的文章是我在自学Stephen G.Kochan的<Objective-C程序设计第6版>过程中的笔记. 1.类的声明(@interface)要放在以它自己名字命名的class.h文件中,而类的定义(@implementation)要放在相同名字的class.m文件中: 2.import本地文件和import系统文件的格式是不同的:导入本地文件要用双引号,导入系统文件要用< 和> :如下: #import <Foundation/Fou…
"OC基础"这个分类的文章是我在自学Stephen G.Kochan的<Objective-C程序设计第6版>过程中的笔记. 1.关于NSLog函数中的“%2i”: (1).如果NSLog函数输出两行数据,分别为9和10.如果使用“%i”输出,则9会和1对齐,如果使用“%2i”输出,则9会和0对齐.“%2i”表示输出的整型数会默认占两个字符的宽度并且右对齐: (2).如果要左对齐,则需要写成“%-2i”,注意负号. 2.关系运算符: && 是AND,|| 是…