小编Neo*_*amu的帖子

Swift类的Objective-c协议.无法识别的方法

我正在尝试将一些代码从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)

delegates protocols objective-c ios swift

8
推荐指数
1
解决办法
8746
查看次数

标签 统计

delegates ×1

ios ×1

objective-c ×1

protocols ×1

swift ×1