Ste*_*eve 4 iphone xcode class objective-c
我正在开发一个包含多个自定义类的项目.我有一个CardModel(NSObject)有一些整数属性来保存数据,和一个Deck(NSObject)有一个数组来容纳一堆CardModels然后一个CardView(UIView)有CardModel一个属性,当我CardModel从一个选择一个Deck.然后我有一堆UIViewControllers我在一个地方移动UINavigationController.
我的问题是关于何时何地使用@class编译器指令.
如果我子类UIViewController通过使一个新的文件和子类的话,我应该用@class MyViewController在标题MyViewController.h或.m与它在文件中实际使用的控制器(当一个控制器是要实例化另一个控制器类型和象头去把它推到堆栈里.或者我是否需要使用它?是否只有在我真正向我的班级添加新属性时才需要超出库存实施中的内容?好像我把@class所有的地方,只要确保我没有得到错误,但我当我需要它并不能从根本上理解.
谢谢!
您可以在.h中使用它来通知自定义类,而不包括自定义类的.h.
示例:两个自定义类:Car和Wheel
Car.h
----------------
@interface Car : NSObject {
}
- (void)addWheel:(Wheel*)newWheel;
@end
Run Code Online (Sandbox Code Playgroud)
Car.h不知道类'Wheel'所以它会抛出一个错误,所以你可以像这样导入Wheel.h:
Car.h
----------------
#import "Wheel.h"
@interface Car : NSObject {
}
- (void)addWheel:(Wheel*)newWheel;
@end
Run Code Online (Sandbox Code Playgroud)
但你也不需要这样做.Car.h不需要知道关于Wheel类的任何信息,它只需要知道它存在.所以你使用的是@class只是说"嘿,这个类存在.请相信我的话."
Car.h
----------------
@class Wheel;
@interface Car : NSObject {
}
- (void)addWheel:(Wheel*)newWheel;
@end
Run Code Online (Sandbox Code Playgroud)
然后在Car.m内部,当你真正需要了解Wheel类(属性,方法等)时,你应该在那里导入Wheel.h.
| 归档时间: |
|
| 查看次数: |
265 次 |
| 最近记录: |