我是新来学习Objective-c的人
当我了解协议和委托时,我无法解决此参考错误。
我应该如何修改我的代码?
或者我的概念在编写目标-c时是错误的
我试图知道在另一个对象(InfoUser)中声明一个对象(Info),
但似乎不是问题。
看来我可以处理这样的财产。
#ifndef Info_h
#define Info_h
@protocol InfoDelegate <NSObject>
-(void) initFn;
@end
@interface Info : NSObject
@property (nonatomic, weak) id<InfoDelegate> delegate;
@end
#endif /* Info_h */
#ifndef InfoUser_h
#define InfoUser_h
@interface InfoUser : NSObject
@end
#endif /* InfoUser_h */
#import <Foundation/Foundation.h>
#import "Info.h"
#import "InfoUser.h"
@interface InfoUser ()<InfoDelegate>
@property (nonatomic, strong) Info *infocase;
@end
@implementation InfoUser
-(instancetype) init {
self.infocase = [[Info alloc] init];
self.infocase.delegate = self;
return self;
}
- (void)initFn {
NSLog(@"initFn");
}
@end
这是错误消息
Undefined symbols for architecture x86_64:
"_OBJC_CLASS_$_Info", referenced from:
objc-class-ref in InfoUser.o
(maybe you meant: _OBJC_CLASS_$_InfoUser)
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see
invocation)
有人可以告诉我如何解决吗?
谢谢
ps。抱歉,这是我第一次发帖提问? 如果有什么没发现的事,请告诉我。