【发布时间】:2014-06-12 04:47:15
【问题描述】:
我有一个使用 Salesforce SDK 的现有示例 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
【问题讨论】:
-
MytDelegate 是错字吗?
-
不。这只是我写这篇文章时的一个错字。
标签: swift