我是目标C的新手,并试图实施异议(依赖注入器)。
但下面不能使用的是我正在使用的代码
My Protocol File
#import <Foundation/Foundation.h>
@protocol InfoquestProtocolTest <NSObject>
-(void):nothing;
@end
My .h file is below
#import <Foundation/Foundation.h>
# import "InfoquestProtocolTest.h"
@interface InfoquestImplementation : NSObject<InfoquestProtocolTest>
@end
my .m file implementing protocol
#import "InfoquestImplementation.h"
@implementation InfoquestImplementation
-(void):nothing{}
@end
Code for module file of objection
#import "InfoquestTestConf.h"
#import <Objection/Objection.h>
#import "InfoquestViewController.h"
#import "InfoquestImplementation.h"
@implementation InfoquestTestConf
-(void)configure
{
[self bindClass:[InfoquestImplementation class] toProtocol:@protocol(InfoquestProtocolTest)];
}
@end
Code for getting object from objection
JSObjectionInjector *injector = [JSObjection createInjector];
[JSObjection setDefaultInjector:injector];
InfoquestTestConf *Module = [[InfoquestTestConf alloc] init];
[injector withModule: Module];
id<InfoquestProtocolTest> testing2 = [injector getObject:[@protocol(InfoquestProtocolTest)];
但是当我尝试使用[testing2 nothing]进行调用时;我收到错误并且自动填充不会显示任何内容。
由于 高拉夫
答案 0 :(得分:3)
您遇到语法错误:
你应该替换:
-(void):nothing;
与
-(void)nothing;
答案 1 :(得分:1)
这是你的语法错误。请改变:
-(void):nothing;
为:
-(void)nothing;
答案 2 :(得分:0)
因此您正在使用自定义委托。首先,您必须将委托设置为您正在实现协议方法的类。