A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© CcrazyOne 中级黑马   /  2015-10-12 00:29  /  614 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

//-----------NSString的创建和使用 //注意oc中字符串是以@开头   @"xx"
以下4种方式

1,创建常量字符串,注意使用“@“符号。
NSString *astring = @"This is a String!"; //后面的是常量,前面的是指针变量

2,NSString *s1 = [NSString new];
s1 =@"jian le ma";

3、格式化创建字符串(按照指定的格式创建字符串)
NSString *imgName = [NSString stringWithFormat:@"xxxxxx%02d.jpg",i];

4、用一个已经存在的字符串创建一个新的字符串
NSString *s2 = [[NSString alloc] initWithString:s1];


//-------------NSString长度计算方法.
NSString *str = @"ban长";
[str length]; // 4

OC中中文相当于1个字符
UTF-8编码中汉子占3个字节


//-------------多文件开发
为什么要使用多文件?
在开发当中实现的功能一般会比较复杂, 所以会将类分成声明(.h文件)和实现(.m文件)部分

在.h文件中写成员变量和方法的声明,
在.m文件中写成员变量和方法的实现.

这样写大大提高开发效率, 提高代码的维护性.

文件名就是类名
.h和.m名字必须相同(重名)

快捷键 cmd+n(学会查看快捷键方法)   -->  Cocoa Class (同时帮我们生成.h和.m)

头文件要记得引入
#import ""


//--------------类方法.
//1. 特点:
以加号( + )开头,
调用格式:  [类名  方法名]   [Car run];

//2.注意事项:
类方法可以和实例方法同名, 相互之间互不影响
-(void)eat;
+(void)eat;

类方法可以从父类继承而来,子类可以重写类方法 // ,如description类方法

类方法和实例方法一样在interface里声明, 在implementation里实现。

类方法由类名调用,  实例方法(对象方法)由对象调用。

在类方法里使用了self, self指代的是调用者类

在类方法中不能使用类的成员变量(实例变量/属性)//重点

类方法和对象方法之间不能使用self 相互调用


//类方法方法中调用对象方法
1.对象作为方法的参数传递过来
2.创建一个对象调用对象方法  Person *person  = [Person new];

//类方法调用类方法
类方法可以调用类方法,但是不要自己调用自己

对象方法同样可以调用对象方法,类方法,但是不能自己调用自己


//-------self的区分
要清楚self在不同的方法里面代表不一样
在对象方法中,self是一个对象
在类方法中,self代表是一个类

总结:
类方法里面可以调用类方法,对象方法.对象方法里面也可以调用类方法,对象方法,但是要注意self代表什么,以及不能用self调用当前方法,否则会出现死循环.

//---------------类方法和对象方法的比较
- 对象方法以减号开头, 可以使用成员变量
+ 类方法以加号开头,不能使用成员变量

//---------------类方法使用场景
如果我们调用一个方法,该方法中不需要使用成员变量,那么我们可以将该方法声明为类方法



//----------------匿名对象
匿名对象的使用场景: 当对象的方法只调用一次时,可以使用匿名对象来完成。
匿名对象优缺点 :
优点: 可以简化代码,方便方法调用;节省内存空间
缺点: 匿名对象实例化以后,只能正确的使用一次成员变量;


0 个回复

您需要登录后才可以回帖 登录 | 加入黑马