这似乎是一个基本要求,但我无法在任何地方找到答案。我想在Appcelerator模块中包装我编写的一些现有iOS代码。就是这样。重点:
一旦我可以成功构建包装模块,我就会调用初始化函数来触发本机蓝牙硬件搜索。连接后,模块中的功能可以向硬件发送命令并接收数据。这是我到目前为止所遵循的官方文件:
http://docs.appcelerator.com/platform/latest/#!/guide/iOS_Module_Quick_Start
这帮助我构建了空白模块,将其包含在应用程序中,并通过调用内置测试属性确保它工作。从那里开始没有实际告诉我我需要知道什么。这些是我迄今为止发现的最接近的东西,但仍然不是我需要的东西:
哎呀,我还是不知道我是否可以在工作室内这样做,或者我是否必须在Xcode中编辑通用模块。救命! :)非常感谢提前。
答案 0 :(得分:1)
首先,这不是最佳做法,并且当SDK更改并且您的模块仍然依赖于过时的核心API时,将来可能会出现问题。
关于您的问题,您可以创建一个新组件,将现有类子类化,例如
class TiMyModuleListViewProxy : TiUiListViewProxy {
}
并用
调用它var myList = MyModule.createListView();
或者您编写一个类别以使用您自己的逻辑扩展现有API,例如
@interface TiUIListViewProxy (MyListView)
- (void)setSomethingElse:(id)value;
@end
@implementation TiUIListViewProxy (MyListView)
- (void)setSomethingElse:(id)value
{
// Set the value of "somethingElse" now
}
@end
我更喜欢第二个选项,因为它符合更好的Objective-C代码风格,但请注意可能影响您在功能中实现的核心更改。谢谢!