黑马程序员技术交流社区

标题: 关于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