Iphone 动态包含类或实例化不包含类的对象
基本上我有一大堆类,它们都是UIView的子视图 该应用程序是一种幻灯片应用程序。我希望能够列出幻灯片在plists中可能采用的潜在“路线” 因此,我可能有100个类,我不想把所有类都包含在我可能使用其中一个类的可能性中 有办法解决这个问题吗?我可以实例化一个类而不包含它吗 还是我必须包括我将要使用的所有潜在类 是否有像Iphone 动态包含类或实例化不包含类的对象,iphone,objective-c,class,Iphone,Objective C,Class,基本上我有一大堆类,它们都是UIView的子视图 该应用程序是一种幻灯片应用程序。我希望能够列出幻灯片在plists中可能采用的潜在“路线” 因此,我可能有100个类,我不想把所有类都包含在我可能使用其中一个类的可能性中 有办法解决这个问题吗?我可以实例化一个类而不包含它吗 还是我必须包括我将要使用的所有潜在类 是否有像包含所有内容那样的“全局包含”。。。在这里抓救命稻草p 谢谢 汤姆 我可以实例化一个类而不包含它吗 我想这是不可能的,因为在使用class类型的变量之前,编译器应该明确地看到当前
包含所有内容那样的“全局包含”
。。。在这里抓救命稻草p
谢谢
汤姆
我可以实例化一个类而不包含它吗
我想这是不可能的,因为在使用class
类型的变量之前,编译器应该明确地看到当前范围中的class
定义
我可以实例化一个类而不包含它吗
我想这是不可能的,因为在使用
class
类型的变量之前,编译器肯定应该先查看当前作用域中的class
定义。如果使用该类,则必须知道它响应的消息集。将这些信息分解到公共超类或协议中,然后您只需要使用它们。如果您使用该类,您必须知道它响应的消息集。将这些信息分解成一个公共超类或一个协议,然后您只需要使用它们。为什么会有数百个类?听起来您大概有一个自定义类,它表示幻灯片
你对这个问题的评论很有帮助。考虑把幻灯片和它的内容分开。您可以拥有一个幻灯片类,该类提供所有幻灯片共有的功能,包括管理一个或多个内容对象的功能。然后,您将创建一系列不同的内容类:电子表格、可设置动画的图形、检查表等等。幻灯片将查看其数据,找出要实例化的内容类
如果您的所有内容类都有一个公共基类,那么幻灯片类只需要了解基类。内容基类可以充当所有内容类的管理器。您可以给它一个工厂方法,如-contentForData:(NSData*)data
,它为给定的数据返回一个适当的内容对象。幻灯片类不需要了解内容基类以外的任何内容,因此,这种方法可以实现实例化内容类的目标,而不必在幻灯片类中包含它们的所有标题。当然,内容基类仍然需要了解所有内容类
基类需要知道它的子类,但子类是从基类派生的,这就有点棘手了。我认为可以通过在内容子类中使用forward@class声明来解决这个问题。为什么会有数百个类?听起来您大概有一个自定义类,它表示幻灯片 你对这个问题的评论很有帮助。考虑把幻灯片和它的内容分开。您可以拥有一个幻灯片类,该类提供所有幻灯片共有的功能,包括管理一个或多个内容对象的功能。然后,您将创建一系列不同的内容类:电子表格、可设置动画的图形、检查表等等。幻灯片将查看其数据,找出要实例化的内容类 如果您的所有内容类都有一个公共基类,那么幻灯片类只需要了解基类。内容基类可以充当所有内容类的管理器。您可以给它一个工厂方法,如
-contentForData:(NSData*)data
,它为给定的数据返回一个适当的内容对象。幻灯片类不需要了解内容基类以外的任何内容,因此,这种方法可以实现实例化内容类的目标,而不必在幻灯片类中包含它们的所有标题。当然,内容基类仍然需要了解所有内容类
基类需要知道它的子类,但子类是从基类派生的,这就有点棘手了。我认为您可以通过在内容子类中使用forward@class声明来解决这个问题。如果我正确理解您的问题,您希望在一个地方放置#include指令,以便项目中的每个类都可以访问它们。您可以在ProjectName_Prefix.pch文件中执行此操作。任何#include或#import语句都将包含在每个源代码文件中。如果我正确理解您的问题,您希望在一个地方放置#include指令,以便项目中的每个类都可以访问它们。您可以在ProjectName_Prefix.pch文件中执行此操作。任何#include或#import语句都将包含在每个源代码文件中。100个类让我怀疑您是否有一个好的类设计。您提到了“幻灯片可能采用的潜在路线列表”-您是说每个路线都是一个单独的Objective-C类?如果是这样的话,那就是一个严重破坏的设计。IMHO.100s是一个夸张的说法p但原则是一样的。问题是每个“幻灯片”都将具有自定义功能。因此,一个可能有一个条形图,它可以使条形图向上生长并显示它们的值,另一个可能有一个视频播放,另一个可能有一个计算某种产品销售额的“电子表格”。等等,否则你会怎么做?试图将所有这些挤在一个类中将是可怕的!(未来很难改变)。100节课让我怀疑你是否有一个好的课堂设计。你提到有“可能的路线列表