iOS   发布时间:2022-05-04  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了iphone – 何时何地放置@class声明大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

概述

我正在开发一个包含多个自定义类的项目.我有一个CardModel(NSObject),它有一些整数属性来保存数据,还有一个Deck(NSObject),它有一个数组来容纳一堆CardModel,然后是一个CardView(UIView),它有一个CardModel作为我做的属性我从甲板上选择了一个CardModel.然后我有一堆UIViewControllers,我在UINavigationCon
我正在开发一个包含多个自定义类的项目.我有一个CardModel(NSObject),它有一些整数属性来保存数据,还有一个Deck(NSObject),它有一个数组来容纳一堆CardModel,然后是一个CardView(UIView),它有一个CardModel作为我做的属性我从甲板上选择了一个CardModel.然后我有一堆UIViewControllers,我在UINavigationController上移动.

我的问题是关于何时何地使用@class编译器指令.

如果我通过创建一个文件并对其进行子类化来继承UIViewController,我是否应该在MyViewController.h或.m的头文件中使用@class MyViewController并将其放入实际使用控制器的文件标题中(如同一个controller将实例化另一个控制器类型并将其推送到堆栈中.或者我是否需要使用它?是否只有在我实际向我的类中添加属性时才需要超出库存实现中的属性?好像我把@class放到了所有地方只是为了确保我没有得到错误,但我不需要从根本上理解我什么时候需要它.

谢谢!

解决方法

您可以在.h中使用它来通知自定义类,而不包括自定义类的.h.

例:
两个自定义类:汽车和车轮

Car.h
----------------
@interface Car : NSObject {
}
- (void)addWheel:(Wheel*)newWheel;
@end

Car.h不知道类’Wheel’所以它会抛出一个错误,所以你可以像这样导入Wheel.h:

Car.h
----------------
#import "Wheel.h"

@interface Car : NSObject {
}
- (void)addWheel:(Wheel*)newWheel;
@end

但你也不需要这样做. Car.h不需要知道关于Wheel类的任何信息,它只需要知道它存在.所以你使用的是@class只是说“嘿,这个类存在.请相信我的话.”

Car.h
----------------
@class Wheel;

@interface Car : NSObject {
}
- (void)addWheel:(Wheel*)newWheel;
@end

然后在Car.m内部,当你真正需要了解Wheel类(属性,方法等)时,你应该在那里导入Wheel.h.

大佬总结

以上是大佬教程为你收集整理的iphone – 何时何地放置@class声明全部内容,希望文章能够帮你解决iphone – 何时何地放置@class声明所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。