![](/img/trans.png)
[英]Objective-C UIViewController Category is causing Error NSException
[英]UIViewController Objective-C category not available in Swift
我在其他問題中讀到,可以輕松地在Swift中使用Objective-C類別方法。 只需將.h
文件導入橋接頭中即可。
我為UIViewController
類別完成了此操作,但是無法從Swift中訪問其方法(這不是自動完成問題……無法編譯)。
這是該類別的代碼...有什么奇怪的東西還是我錯過了?
#import "UIViewController+LCSideMenuViewController.h"
#import "LCSideMenuViewController.h"
@implementation UIViewController (LCSideMenuViewController)
/**
Return a reference to the root SideViewController (if exists)
*/
- (LCSideMenuViewController *)sideMenuViewController
{
UIViewController *viewController = self.parentViewController;
while (!(viewController == nil || [viewController isKindOfClass:[LCSideMenuViewController class]])) {
viewController = viewController.parentViewController;
}
return (LCSideMenuViewController *) viewController;
}
然后,我嘗試使用以下代碼迅速獲取sideViewController
:
import UIKit
class TutViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
self.sideMenuViewController() ...
}
.
.
.
我的橋接標頭是:
#import "UIViewController+LCSideMenuViewController.h"
您的橋接頭還應該導入LCSideMenuViewController
:
#import "LCSideMenuViewController.h"
如果沒有方法的返回類型的定義,則無法編譯Swift代碼。
如果將類別放在頭文件中,則該文件將對swift文件可見。 解決方法是將類別移動到UIViewController+LCSideMenuViewController.h
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.