![](/img/trans.png)
[英]Can you use any library with the i386 architecture for a Cocoa/Mac OSX app?
[英]Can I use UIDocument in a Mac OSX app?
我想在iOS和OSX之间共享一个通用的文档格式。 请注意,这不是MDI应用程序; 将有一个文件来保存/加载。 不需要NSDocument样式的用户驱动管理(例如,保存,另存为,打开等)。
最大的挑战是似乎没有与OSX和IOS自然兼容的通用文档编码格式(尚未)。 根据iOS的基于文档的应用程序编程指南,看起来NSDocument和UIDocument派生类之间需要编码/解码转换。 我希望有一个通用的序列化机制与Apple生态系统中的所有设备兼容。 在这方面,任何想法,想法,提示都受到赞赏。
我可以在我的mac osx应用程序中使用UIDocument派生类,并且该文档与IOS兼容吗?
不,您不能在Cocoa应用程序中使用或子类化UIDocument,因为Cocoa中不存在UIDocument。
在NSDocument和UIDocument中,您可以确定要使用的格式。 因此,只需将它们实现为输出和输入使用相同的格式。
在为iOS构建Mac和UIDocument时,使用预处理器来设置实现NSDocument子类的文件对并不太难。 这样可以防止序列化和反序列化实现不匹配,因为每个版本只有一个副本,并且在两个平台上都使用它。
上面的Peter的答案是正确的,但我有一个建议,不涉及C预处理器(在Swift中不可用),它更像Cocoa。
观看WWDC 2014会话233,将单个项目中的iOS和Mac应用程序设置为单独的目标,然后在文档类上使用类别来实现常用功能:
CommonFunctions.h
@interface AppDocument (CommonFunctions)
- (void)function;
@end
-
CommonFunctions.m
@implementation AppDocument (CommonFunctions)
- (void) function {
/// stuff here
}
@end
对于每个平台/目标,您的AppDocument
类将具有从UI / NSDocument继承的2个不同的类,并且每个目标将从公共位置AppDocument
类别。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.