黑马程序员技术交流社区

标题: .m 文件里的 interface Dog() 怎么用啊??? [打印本页]

作者: 香草芭芙    时间: 2015-5-16 21:31
标题: .m 文件里的 interface Dog() 怎么用啊???
Dog.h
  1. #import <Foundation/Foundation.h>

  2. @interface Dog : NSObject
  3. - (void)publicRun;
  4. @end
复制代码

Dog.m
  1. #import "Dog.h"

  2. @interface Dog ()
  3. - (void)rrrun;
  4. @end

  5. @implementation Dog

  6. - (void)rrrun
  7. {
  8.     NSLog(@"我是dog 私有方法");
  9. }

  10. - (void)publicRun
  11. {
  12.     NSLog(@"我是dog 共有方法");
  13. }
  14. @end
复制代码

main.m
  1. #import <Foundation/Foundation.h>
  2. #import "Dog.h"
  3. int main(int argc, const char * argv[])
  4. {
  5.     Dog * dog = [[Dog alloc] init];
  6.     [dog publicRun];

  7.     [dog rrrun];
  8. // main.m:16:10: No visible @interface for 'Dog' declares the selector 'rrrun'

  9.     return 0;
  10. }
复制代码

    网上说是.m里的 interface是为了私有成员而用得,  那该怎么调用这个方法呢??

作者: wr6524798    时间: 2015-5-16 22:08
这里面可以声明变量,其它类访问不到,只能在本.m文件中访问到
作者: cui0wei0    时间: 2015-5-16 22:37
只让别人看.h里面的东西
作者: 香草芭芙    时间: 2015-5-16 22:49
:L 我想知道,    在  .m文件里 具体怎么操作呢???
如果能在内部使用,  我试过
- (void)publicRun
{
    NSLog(@"我是dog 共有方法");
    [self rrrun];
// 想用 publicRun 间接调用来着, 失败了... main函数也不让用...该怎么用呢, google 百度翻遍没找到 T. T
}
作者: 彭越    时间: 2015-5-16 23:16
piaoguo了
作者: CornerFly    时间: 2015-5-16 23:37
你的Dog.m文件中,不能有interface,挪到你的@interface中就没有这个错误了,你这么写,相当于没有声明- (void)rrrun;
作者: 香草芭芙    时间: 2015-5-16 23:48
CornerFly 发表于 2015-5-16 23:37
你的Dog.m文件中,不能有interface,挪到你的@interface中就没有这个错误了,你这么写,相当于没有声明- (v ...

恩 , 是啊, 问题解决了, 我也是刚在google 找到答案, 写在 .m 的interface 是 后面的内容, UI开发的时候用的 .
作者:   张恒宇    时间: 2015-5-17 03:02
google尽然还能用。。。
作者: cogddo    时间: 2015-5-17 16:35
香草芭芙 发表于 2015-5-16 23:48
恩 , 是啊, 问题解决了, 我也是刚在google 找到答案, 写在 .m 的interface 是 后面的内容, UI开发的时候 ...

google怎么用的,前一阵子goagent还能用的,现在发现不能用了。
作者: 香草芭芙    时间: 2015-5-17 19:26
cogddo 发表于 2015-5-17 16:35
google怎么用的,前一阵子goagent还能用的,现在发现不能用了。

NydusVPN 我用的这个.
作者: wodeheimalife    时间: 2015-5-17 19:44
完全看不懂。。。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2