如何修复“体系结构x86_64的未定义符号”委托

时间:2019-11-06 10:05:12

标签: objective-c

我是新来学习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。抱歉,这是我第一次发帖提问? 如果有什么没发现的事,请告诉我。

0 个答案:

没有答案