我正在尝试将一些代码从Objective-c迁移到Swift,但是当我想要使用Objective-c协议符合Swift类并从objetive-c类访问此类时,我在开始时遇到问题.我做错了什么,但我没有看到.
用于测试的Objective-c协议和obj-c类(test_class.h)
#import <Foundation/Foundation.h>
@protocol test_delegate
-(void)returnData:(NSString*)data InMethod:(NSString*)method;
@end
@interface test_class : NSObject
@property (weak, nonatomic) id<test_delegate> delegate;
-(void)sendData:(NSString * )data;
@end
Run Code Online (Sandbox Code Playgroud)
Objective-c实施
#import "test_class.h"
@implementation test_class
-(id) init{
self = [super init];
if (self != nil){
self.delegate= nil;
}
return self;
}
-(id) initWithDelegate:(id<test_delegate>) delegate{
self = [super init];
if (self != nil){
self.delegate = delegate;
}
return self;
}
-(void)sendData:(NSString *)data{
[self.delegate returnData:data InMethod:@"method test"];
}
@end
Run Code Online (Sandbox Code Playgroud)
Objetive-c brigde文件
//
// Use this file to import your target's …Run Code Online (Sandbox Code Playgroud)