A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

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是为了私有成员而用得,  那该怎么调用这个方法呢??

10 个回复

正序浏览
完全看不懂。。。
回复 使用道具 举报
cogddo 发表于 2015-5-17 16:35
google怎么用的,前一阵子goagent还能用的,现在发现不能用了。

NydusVPN 我用的这个.
回复 使用道具 举报
cogddo 中级黑马 2015-5-17 16:35:13
9#
香草芭芙 发表于 2015-5-16 23:48
恩 , 是啊, 问题解决了, 我也是刚在google 找到答案, 写在 .m 的interface 是 后面的内容, UI开发的时候 ...

google怎么用的,前一阵子goagent还能用的,现在发现不能用了。
回复 使用道具 举报
google尽然还能用。。。
回复 使用道具 举报
CornerFly 发表于 2015-5-16 23:37
你的Dog.m文件中,不能有interface,挪到你的@interface中就没有这个错误了,你这么写,相当于没有声明- (v ...

恩 , 是啊, 问题解决了, 我也是刚在google 找到答案, 写在 .m 的interface 是 后面的内容, UI开发的时候用的 .
回复 使用道具 举报
你的Dog.m文件中,不能有interface,挪到你的@interface中就没有这个错误了,你这么写,相当于没有声明- (void)rrrun;
回复 使用道具 举报 2 0
piaoguo了
回复 使用道具 举报
:L 我想知道,    在  .m文件里 具体怎么操作呢???
如果能在内部使用,  我试过
- (void)publicRun
{
    NSLog(@"我是dog 共有方法");
    [self rrrun];
// 想用 publicRun 间接调用来着, 失败了... main函数也不让用...该怎么用呢, google 百度翻遍没找到 T. T
}
回复 使用道具 举报
只让别人看.h里面的东西
回复 使用道具 举报
这里面可以声明变量,其它类访问不到,只能在本.m文件中访问到
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马