首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何创建特定于我的需求的新的iOS框架?

如何创建特定于我的需求的新的iOS框架?
EN

Stack Overflow用户
提问于 2013-12-13 23:46:47
回答 2查看 106关注 0票数 1

这是我的第一个问题,我觉得自己是个无法找到答案的傻瓜,因为我强烈怀疑类似的事情已经被回答了,但我的google-fu已经让我失望了。

我想要实现的是创建一个框架,我可以添加到我的应用程序中,这样我就能够从我构建的每个类中访问结构。例如,可以从我构建的任何类中访问CGRect,因为(我认为)每个类都包含Foundation,或者当我创建视图控制器时,我能够使用UIButtons,因为它们位于UIKit框架中,后者随后将提取Foundation和CoreGraphics框架。

我想要一个文件,在那里我可以粘贴结构或自定义对象,我将感兴趣地使用一遍又一遍。即来自CGPoint框架的CoreGraphics:

代码语言:javascript
复制
struct CGPoint {
  CGFloat x;
  CGFloat y;
};
typedef struct CGPoint CGPoint;

我想要一个框架,在这个框架中我可以添加一些东西,比如月份

代码语言:javascript
复制
typedef enum {
    Jan = 1,
    Feb = 2,
    Mar = 3,
    Apr = 4,
    May = 5,
    Jun = 6,
    Jul = 7,
    Aug = 8,
    Sep = 9,
    Oct = 10,
    Nov = 11,
    Dec = 12,
} SSMonth;

我认为用C语言实现这一点的方法是创建一个头文件,并将这个头文件包含在使用上述SSMonth示例的所有其他文件中。对于iOS项目来说,以类似的方式实现这个目标更好,还是创建一个框架是更好的方法?假设我想将其扩展到结构和类型防御之外,并希望包括实际的类;答案是否相同?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-12-13 23:50:50

可以将该文件添加到AppName-Prefix.pch文件中。

代码语言:javascript
复制
//
//  Prefix header
//
//  The contents of this file are implicitly included at the beginning of every source file.
//

#import <Availability.h>

#ifndef __IPHONE_5_0
#warning "This project uses features only available in iOS SDK 5.0 and later."
#endif

#ifdef __OBJC__
    #import <UIKit/UIKit.h>
    #import <Foundation/Foundation.h>
    #import "CustomClass.h"
#endif

然后在CustomClass中放置您想要访问的对象。

票数 3
EN

Stack Overflow用户

发布于 2013-12-14 00:08:24

我想对Riomhaire的回答做一些扩展:他正在谈论的文件是一个预编译的头文件(扩展名.pch是一个缩写)。在项目构建开始时,编译器只处理一次预编译头文件,然后将它们自动导入到项目的其他每个文件中,而不必显式写入。

代码语言:javascript
复制
#import "Prefix.pch"

预编译头文件的主要目的是加快项目的构建时间,因为编译器不需要一次又一次地处理相同的(可能是大的)头文件。您不必在任何地方显式导入.pch文件,这只是Xcode为您提供的便利。在其他编程环境(例如)中,您可能仍然需要显式地包含预编译的头文件。

谷歌为“预编译头”,以了解更多的概念(这不限于目标C)。作为一种快捷方式,下面是指向维基百科文章的链接。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20577917

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档