黑马程序员技术交流社区
标题:
OC中如何实现私有方法,说说我的想法
[打印本页]
作者:
闪电侠
时间:
2015-7-10 22:18
标题:
OC中如何实现私有方法,说说我的想法
本帖最后由 闪电侠 于 2015-7-10 22:22 编辑
我们知道在很多面向对象的高级语言中有私有方法,即用private关键词修饰的方法,但是在OC中,虽然也有类似的关键字@private,但此关键词不能修饰方法,否则编译器报错,那么这就意味着所有对象方法和类方法都将是公开的,这在开发中显然不合理,那么有没有办法来实现类似私有方法的效果呢?
我想到两种方法:
第一种:
// .h文件
@interface Person : NSObject
@end
复制代码
// .m文件
@implementation Person
- (void)run{
}
@end
复制代码
即
不在.h文件中申明方法
,只在.m文件中实现方法
第二种:
// .h文件
@interface Person : NSObject
@end
// 匿名Category
@interface Person ()
- (void)run;
@end
复制代码
// .m文件
@implementation Person
- (void)run{
}
@end
复制代码
即使用一个
匿名的Category
,让外部根本没法调用,只能由本类内部调用
作者:
dlamgg
时间:
2015-7-10 23:25
赞~~~~~~~~~~~~~
作者:
4B青年
时间:
2015-7-11 20:46
楼主辛苦了,收藏下。。。
作者:
ccwinner
时间:
2015-10-9 14:30
请问这个私有方法如何去访问它?我看教学视频有个是用self去访问,但是还可以在该类其他方法中新建一个该类的对象,然后使用 [对象 方法] 去访问这个私有方法?这样真的可以吗
作者:
wjy0916
时间:
2015-10-9 17:32
赞一个!!!!!!!!
作者:
wxd123
时间:
2015-10-9 21:41
不错,赞一个!
作者:
啦啦啦啦你
时间:
2015-10-9 21:49
zan!!!!!!!!!!!!!!!!!!
作者:
ccavbb
时间:
2016-2-19 10:10
楼主你好,为什么我试的 你这个匿名的Category 可以在外面调用呢
作者:
久伴
时间:
2016-2-19 10:16
学习学习,收藏了
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2