文档章节

OC之类方法

feng_blog
 feng_blog
发布于 2015/08/31 15:40
字数 344
阅读 47
收藏 0

#import<Foundation/Foundation.h>

/*

 1、对象方法

 1减号- 开头

 2)只能由对象来调用

 3)对象方法中能访问当前对象的成员变量(实例变量)

2、类方法

 1加号+ 开头

 2只能由类(名)来调用

 3类方法中不能访问成员变量(实例变量)

 

 3类方法的好处和使用场合

 1不依赖于对象,执行效率高

 2能用类方法,尽量用类方法

 3场合:当方法内部不需要使用到成员变量时,就可以改为类方法

 

 可以允许类方法和对象方法同名

 */

@interfacePerson : NSObject

{

    int age;

}

// 类方法都是以+开头

+(void)printClassName;

 

-(void)test;

+(void)test;

@end

 

@implementationPerson

+(void)printClassName

{

    // errorinstancevariable 'age' accessed in class method

    // 实例变量age不能在类方法中访问

    //NSLog(@"这个类叫做Person-%d",age);

}

-(void)test

{

    NSLog(@"111-%d", age);

    //[Person test];

}

 

+(void)test

{

    // 会引发死循环

    //[Person test];

        NSLog(@"333");

   

// 会引发死循环

// [Person test];

}

@end

 

 

intmain()

{

    //[PersonprintClassName];//直接用类名调用类方法

    [Person test];

    //Person *p =[Person new];

    //[p test];

        /*

     -[Person printClassName]: unrecognizedselector sent to instance 0x7fa520c0b370

     */

    // 系统会认为现在调用的printClassName是个对象方法

    //[p printClassName];

        return 0;

}

【备注】不能使用指针去访问类方法,会报错。类方法和成员(对象)方法可以同名。

版权声明:本文为博主原创文章,未经博主允许不得转载。

© 著作权归作者所有

feng_blog

feng_blog

粉丝 120
博文 130
码字总数 105422
作品 3
朝阳
iOS工程师
私信 提问
OC之类和对象

从今天开始我的IOS开发算是起步了,第一天学习Objective-C,感觉不是很爽。作为一名Java程序猿的我,第一次使用OC语法什么的都不习惯,尤其是@到处都是,不过,今天看看还是有点儿收获的。 ...

斯特凡
2015/06/12
0
0
【OC底层】OC对象本质,如 isa, super-class

Objective-C的本质 1、我们编写的Objective-C,底层现实都是C/C++,代码生成步骤如下: 2、在OC中的所有面向对象的实现,都是基于C/C++的数据结构实现的 3、将Objective-C代码转换为CC++代码...

这酸爽!
2018/09/28
0
0
是时候正式进入 Swift开发了

Swift从14年发布到现在已经迎来了3.0的版本, 不得不说作为苹果公司推出的新语言, swift的未来是毋庸置疑的. 一种新的编程语言, 在快速发展的前期,变化是很大的, 这个勉强可以作为我们之前暂不...

Sunxb
2016/11/02
0
0
OC 简单对象、创建类方法小结

1.首先是输出函数,在学c语言时我们都习惯写prinft 但是到了oc中 就要用NSLog 来输出语句了 NSLog(@"Hello, World!"); NSLog有一个注意点就是在双引号前面加上@,说到这不得不提一点,在oc中...

JoshSone
2016/08/14
39
0
关于v2的一些问题请教

首先,我没用过V1版。只是看到OC推荐了解到V2版的存在,然后试用之。 一,ConfigReader类过于简单,仅提供的一个相对文件路径加载方法,在play框架下加载不了文件。一般来说InputStream\Fil...

逝影落枫
2016/01/12
302
1

没有更多内容

加载失败,请刷新页面

加载更多

zk中ToBeAppliedRequestProcessor解析

ToBeAppliedRequestProcessor在Leader中 在已处理事务和最后处理事务处理器之间,处理器链上下一个是FinalRequestProcessor public void processRequest(Request request) throws RequestPro...

writeademo
30分钟前
3
0
Allegro快捷键设置-PCB环境

立题简介: 内容:简单介绍Allegro绘制的PCB环境下的快捷键; 来源:实际使用得出; 作用:对Allegro绘制PCB快捷键进行介绍; PCB环境:Cadence 16.6; 立题详解: 对“allegro”板而言,其在...

demyar
31分钟前
2
0
idea maven web项目启动build时报错java.lang.NullPointerException

之前还好好的,重启一下idea就报这个错了,大概率是tomcat没杀掉端口被占用了,在tomcat配置中更换一下sever端口就好了

宇辰OSC
34分钟前
3
0
weed3-2.3.1.查询之输出

Weed3 一个超轻量级ORM框架(只有0.1Mb哦) 源码:https://github.com/noear/weed3 源码:https://gitee.com/noear/weed3 查询可是个复杂的话题了,可能我们80%的数据库处理都在查询。 今天先...

刘之西东
34分钟前
3
0
【Android JetPack系列】数据绑定:DataBinding

参考MVVM

Agnes2017
43分钟前
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部