我有2个问题,望解答:
问题1:
我定义了一个协议
#import <Foundation/Foundation.h>
@protocol B
-(void) sleep ;
-(void) eat ;
-(void) work ;
@end
现在让 C.h来实现:
#import "B.h"
@interface C : <B>//报错!!!
@end
报错了:@interface C : <B>
然后模仿网上的@interface C :NSObject <B>就对了
问题:
问题1-1:于是,我自己随便定义了一个A class,然后@interface C : A<B>就对了,谁能给解释下?
问题1-2:@interface C : A<B>这里A<B>代表啥意思呢?
-------------
问题2:
我有一个class A,
A.h里面写了一个-(void) display;
A.m实现display,为了方便,我又在A.m中写了个 -(void)do{。。。}
然后报错了,
报错提示说:隐式声明的do函数是无效的-(void)do 【原文:implicit declaration of function 'do' is invalid in C99】
请问,怎么在A.m中修改呢,望指教?
-------------------
2个问题,OBJCET-C 学了2天得菜鸟求指教 !
------解决方案--------------------
所有oc类都必须从 NSObject派生。
------解决方案--------------------
@interface C : A<B>---> C 从A派生,并实现协议B.
- (void) do -->>换个名字,,,do貌似是关键字。
------解决方案--------------------
楼主如果不想继承某个类,这样写@interface C <B>应该OK!你不继承要:干嘛