黑马程序员技术交流社区
标题:
关于OC中类和方法的一些笔记
[打印本页]
作者:
zxm-it
时间:
2015-8-17 14:16
标题:
关于OC中类和方法的一些笔记
一 NSString 类的介绍:
字符串处理类: 创建常量字符串:NSString *s 字符串变量指针,,由字符串常量赋值
NSLog(); 输出
方法1:(对象创建方式)
方法2:(格式化创建字符串),按照指定格式创建字符串:
方法3:(用一个已存在的创建新的)
二 NSString字符串长度计算:
1.NSString *s=@"swwd ddw dd "; //纯英文
int len=[ s length] 不全;
2, NSString *s=@"等你放假的飞机飞机"; //纯中文
中英文一视同仁;都按一个字符处理 在c语言中一个汉字占3个字节,U8编码
3 中英文混合:
同理占一个 c中不同!
三 多文件开发:
.h是声明文件 .m是实现文件 ::
实现步骤:
1,.h和.m文件要同名
2,文件名就是类名(见名知意)
3,新建.h文件,把类的声明导入;
4,不同的类写在不同的文件中
拷贝导入:(注意相互包含,包含.h的文件)
主函数中引入的是.h文件(声明文件) 用import " .h",
四 类方法
类方法和对象方法的区别
类方法:
1,实例方法,对象方法 (必须有类的实例)
2.类方法:(不需要创建一个类的实例),由类调用,不依赖实例
定义:+号来定义; 同样分为不同类型(参数,和对象类似)
使用:类名+方法名 [类名 类方法名]
3.[ Dog run] ---------
方法名同名的前提是:+和-的不同,即,对象方法和类方法可以同名,只是其本质不同
一个由类调用,一个由对象调用
不需要在堆区创建任何空间,直接由内存代码区的类直接调用方法,然后把值直接给栈区的接受变量.:(考虑该方法是不是使用成员变量,不需要创建对象时,效率高)
类方法使用注意:
1.同名,不影响使用(类方法和实例方法本质不同)
2,类方法可以由父类继承而来
3.类方法同样在@interface里声明,在@implemention里实现
4.不同类型的发放来调用(内存中调用的入口不同)
5.类方法中使用self;(后续)
类方法犯错:(节省内存空间,提高执行效率,作为工具方法)
1 类方法中不能使用成员变量(不能使用类的实例变量)
2 注意方法名和:符号也是方法名的一部分;即 (run和run:不同)
3 对象方法可以调用当前自己的其他对象方法(在当前方法中创建实例,来调用 可以用self 可以在main中传递对象为函数)
4 在类方法中可以调用其他类方法(可以使用其他类名调用或本类名 可以用self 使用其他类名调用其他类的方法)
5 类方法中可以有传递过来的其他类的实例,并且可以由该实例来调用自己的方法(该类方法直接可以调用)
6 类方法不能调用自身(指在本方法中调用本方法)
在什么样的方法中,self就代表什么量:(此处死循环,用self不能调用自己的方法)----
类方法的用:
创建一个手机的颜色返回(枚举类型)
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2