2014-09-10 55 views
5

我有一個dylib框架與一些UIView子類在swift中,我已經做了使用新的@IBDesignable@IBInspectable東西。Swift框架<-> ObjC互操作

因此,可以說,我在那裏命名MyTextField.swift這樣得到了UITextField子類:

MyTextField.swift

@IBDesignable class MyTextField: UITextField { 

    // some properties etc. 
    // content is irrelevant 
} 

現在,編譯和InterfaceBuilder下工作良好到目前爲止好。但是我需要做的是將這個特殊的子類導入到控制器的Objective C實現中,以便在運行時在代碼中設置屬性。

框架(名爲myViews)有一個名爲myViews.h這我能夠導入到控制器頭這樣的標題:

MyViewController.h:

@import myViews; 

#import <UIKit/UIKit.h> 

#import "myViews.h" 

@interface MyViewController : UIViewController 

@property(weak, nonatomic) IBOutlet MyTextField *txtName; // <-- This is the problem! 

@end 

這就是我米卡住了!因此導入的頭文件中未知類MyTextFieldmyViews.h自動生成。我試圖在那裏導入橋接頭,但沒有成功。

myViews.h:

​​

希望有人可以幫助我。提前致謝。

+0

模塊的名稱爲什麼downvote? – Daniel 2014-09-10 16:13:54

+0

你有droid :)你會碰巧知道如何導出這個swift類嗎? – 2014-09-18 22:15:30

+0

@AlexanderN是的,我喜歡! – Daniel 2014-09-19 06:20:02

回答

0

在您的Objective-C類,嘗試導入您的迅速模塊是這樣的:

#import "<ModuleName>-Swift.h"

哪裏模塊名是包含SWIFT代碼

+0

謝謝你的回答。我已經試過這個,但Xcode說'MyTextField-Swift.h'文件沒有找到。一般來說,我想我只需要導入框架,並在框架頭我需要導入快速橋接頭。但我還沒有成功。 – Daniel 2014-10-08 07:41:04

+0

當我用''''#import「MyFramework-Swift.h」'''導入時,出現錯誤。但''#import '''的作品。但要小心,第一部分是*產品名稱*,而header-filename的第一部分是*模塊名稱*。他們可能會有所不同。 – 2016-01-29 15:29:00