OC菜鸟:OC中实例变量可以定义为static么?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了OC菜鸟:OC中实例变量可以定义为static么?相关的知识,希望对你有一定的参考价值。
实例变量可以定义为static类型么?
1.......-(NSString*)show
NSLog (@"dfdfd");
2.......+(void)show
return(@"dfdfd");
3.....
.-(NSString*)show
return(@"dfdfd");
上面三个哪个对哪个错为什么
NSLog (@"dfdfd");
需要返回一个字符串,你在这里打印没有返回,明显是不对的
2.......+(void)show
return(@"dfdfd");
返回空,但是你反回字符串,也是不对的
3.....
.-(NSString*)show
return(@"dfdfd");
这个是对的 参考技术A 在Java中有static方法,就是不需要创建对象光用类名就可以调用的方法。
这种方法相对于OC中就是如2所示的前面是“+”的方法。(方法就是函数的意思) 参考技术B 快快快快快
OC中私有方法和私有变量
OC中的类方法只有两种,静态方法和实例方法,按照面向对象的逻辑,只有有用的东西,才暴露在外部,在OC中,所有的实例默认都是私有的,所有的实例方法默认都是公有的,可能有人会问,不是有的属性直接就可以拿来用吗,但是,那是属性,不是实例变量.比如A类里面有个B类属性,我们在主界面中,定义了一个A类的实例变量,确实是可以用点语法来给A的B类属性赋值,但是其实并没有拿到这个B类对象,只是通过set方法来对A里面的B类对象来赋值而已,没有直接拿到它,他还是A自己的.
以上是关于OC菜鸟:OC中实例变量可以定义为static么?的主要内容,如果未能解决你的问题,请参考以下文章