这是我的第一个问题,我觉得自己是个无法找到答案的傻瓜,因为我强烈怀疑类似的事情已经被回答了,但我的google-fu已经让我失望了。
我想要实现的是创建一个框架,我可以添加到我的应用程序中,这样我就能够从我构建的每个类中访问结构。例如,可以从我构建的任何类中访问CGRect,因为(我认为)每个类都包含Foundation,或者当我创建视图控制器时,我能够使用UIButtons,因为它们位于UIKit框架中,后者随后将提取Foundation和CoreGraphics框架。
我想要一个文件,在那里我可以粘贴结构或自定义对象,我将感兴趣地使用一遍又一遍。即来自CGPoint框架的CoreGraphics:
struct CGPoint {
CGFloat x;
CGFloat y;
};
typedef struct CGPoint CGPoint;我想要一个框架,在这个框架中我可以添加一些东西,比如月份
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项目来说,以类似的方式实现这个目标更好,还是创建一个框架是更好的方法?假设我想将其扩展到结构和类型防御之外,并希望包括实际的类;答案是否相同?
发布于 2013-12-13 23:50:50
可以将该文件添加到AppName-Prefix.pch文件中。
//
// 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中放置您想要访问的对象。
发布于 2013-12-14 00:08:24
我想对Riomhaire的回答做一些扩展:他正在谈论的文件是一个预编译的头文件(扩展名.pch是一个缩写)。在项目构建开始时,编译器只处理一次预编译头文件,然后将它们自动导入到项目的其他每个文件中,而不必显式写入。
#import "Prefix.pch"预编译头文件的主要目的是加快项目的构建时间,因为编译器不需要一次又一次地处理相同的(可能是大的)头文件。您不必在任何地方显式导入.pch文件,这只是Xcode为您提供的便利。在其他编程环境(例如)中,您可能仍然需要显式地包含预编译的头文件。
谷歌为“预编译头”,以了解更多的概念(这不限于目标C)。作为一种快捷方式,下面是指向维基百科文章的链接。
https://stackoverflow.com/questions/20577917
复制相似问题