gpt4 book ai didi

ios - 从 swift 代码中遵循 Objective 中定义的协议(protocol)时出错

转载 作者:行者123 更新时间:2023-11-29 02:17:59 25 4
gpt4 key购买 nike

我有以下 ReaderViewController.h header

#import <UIKit/UIKit.h>

#import "ReaderDocument.h"

@class ReaderViewController;

@protocol ReaderViewControllerDelegate <NSObject>

@optional // Delegate protocols

- (void)dismissReaderViewController:(ReaderViewController *)viewController;

@end

@interface ReaderViewController : UIViewController

@property (nonatomic, weak, readwrite) id <ReaderViewControllerDelegate> delegate;

- (instancetype)initWithReaderDocument:(ReaderDocument *)object;

@end

在 swift 文件中

  class DetailTableViewController: UITableViewController, UITableViewDelegate, UITableViewDataSource {


override func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
// Get the row data for the selected row
var phrase: String = "" ;

var document:ReaderDocument? = ReaderDocument(filePath: "/Users/Krishna/Development/XXXX/Reader.pdf", password: phrase);
if(document != nil){
var readerViewController:ReaderViewController = ReaderViewController(readerDocument: document)
readerViewController.delegate = self ;
readerViewController.modalTransitionStyle = .CrossDissolve;
readerViewController.modalPresentationStyle = .FullScreen;
self.presentViewController(readerViewController, animated: true, completion: nil)
}

func dismissReaderViewController(viewController: ReaderViewController) {

self.dismissViewControllerAnimated(true, completion: nil)

}


}

对于行 readerViewController.delegate = self ; Xcode 抛出编译时异常

类型“DetailTableViewController”不符合协议(protocol)“ReaderViewControllerDelegate”。我尝试为其他类似帖子寻找解决方案,但无法找出问题所在。感谢任何帮助,因为我是 iOS 平台的新开发人员!

最佳答案

只需将 ReaderViewControllerDelegate 添加到 DetailTableViewController 的第一行,因为这告诉编译器该类符合特定的委托(delegate)协议(protocol)。

class DetailTableViewController: UITableViewController, UITableViewDelegate, UITableViewDataSource, ReaderViewControllerDelegate

关于ios - 从 swift 代码中遵循 Objective 中定义的协议(protocol)时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28527289/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com