Sim*_*ain 5 frameworks objective-c ios swift
我有一个我在Swift中编写的框架,它包含一个扩展的类,UIView并且具有一个IBOutlet属性.
从我的Objective-C应用程序可以看到该类,但Interface Builder将看不到IBOutlet.这是代码:
@objc protocol MyFrameworkDelegate {
// My delegate methods here
...
}
@objc class MyFrameworkClass: UIView {
@objc @IBOutlet var delegate:MyFrameworkDelegate?
// The rest of my class here
...
}
Run Code Online (Sandbox Code Playgroud)
我将我的视图类设置MyFrameworkClass在我的故事板中,但是delegate插座没有显示.
我尝试使用和不使用@objc修饰符,没有运气.当我从Objective-C检查我的类时,该属性出现时没有IBOutlet.
还有其他人遇到过类似的东西吗?
编辑
这是Xcode为Swift生成的代码 - > Objective-C转换:
@protocol MyFrameworkDelegate;
SWIFT_CLASS("_Nc9a0xD6MyFrameworkClass")
@interface MyFrameworkClass : UIView
@property (nonatomic) id <MyFrameworkDelegate> delegate;
...
Run Code Online (Sandbox Code Playgroud)
此外,这是我尝试运行应用程序时收到的错误消息:
2014-06-22 21:41:59.095 MyApp Test[75211:17812266] Unknown class MyFrameworkClass in Interface Builder file.
2014-06-22 21:41:59.099 MyApp Test[75211:17812266] -[UIView setDelegate:]: unrecognized selector sent to instance 0xcf5d650
2014-06-22 21:41:59.101 MyApp Test[75211:17812266] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[UIView setDelegate:]: unrecognized selector sent to instance 0xcf5d650'
Run Code Online (Sandbox Code Playgroud)
编辑
这是我的故事板的截图:

| 归档时间: |
|
| 查看次数: |
1579 次 |
| 最近记录: |