试图在Swift中使用Objective-C编写的委托方法抛出"无法找到协议声明"

时间:2014-06-12 04:47:16

标签: swift

我有一个使用Salesforce SDK的现有Sample Objective-C应用程序。我试图将它转换为一次使用Swift一类。 Salesforce SDK有一个名为'SFRestRequest.h'的类,它具有'SFRestDelegate'委托。

在Objective C中,我有一个名为'RootViewController.h'的类,它是UITableViewController的子类。它实现了SFRestDelegate。它工作正常。

//RootViewController.h
#import <UIKit/UIKit.h>
#import "SFRestAPI.h"

@interface RootViewController : UITableViewController <SFRestDelegate> {

    NSMutableArray *dataRows;
    IBOutlet UITableView *tableView;    

}

我正在尝试创建一个RootVC.swift文件来替换RootViewController Objective-c类。

我有一个桥接头文件,用于导入所有在objective-c

中导入的头文件
//SwiftForce-Bridging-Header.h 
#import "SFRestAPI.h"
#import "SFRestRequest.h"

我的RooVC.Swift文件如下:

import UIKit

class RootVC: UITableViewController,SFRestDelegate {
 ..
..
}

现在,如果我命令+单击SFRestDelegate,它会正确进入协议实现。 但是,如果我尝试构建,我会......“无法找到协议声明SFRestDelegate错误

SWIFT_CLASS("_TtC10SwiftForce6RootVC")
@interface RootVC : UITableViewController <SFRestDelegate>
@property (nonatomic) NSArray * dataRows;
- (instancetype)initWithStyle:(UITableViewStyle)style OBJC_DESIGNATED_INITIALIZER;
- (void)viewDidLoad;
- (void)didReceiveMemoryWarning;
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView;
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section;
@end

感谢任何帮助。您可以通过以下方式下载应用来测试它: https://github.com/rajaraodv/SwiftForce

0 个答案:

没有答案