Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 动态包含类或实例化不包含类的对象_Iphone_Objective C_Class - Fatal编程技术网

Iphone 动态包含类或实例化不包含类的对象

Iphone 动态包含类或实例化不包含类的对象,iphone,objective-c,class,Iphone,Objective C,Class,基本上我有一大堆类,它们都是UIView的子视图 该应用程序是一种幻灯片应用程序。我希望能够列出幻灯片在plists中可能采用的潜在“路线” 因此,我可能有100个类,我不想把所有类都包含在我可能使用其中一个类的可能性中 有办法解决这个问题吗?我可以实例化一个类而不包含它吗 还是我必须包括我将要使用的所有潜在类 是否有像包含所有内容那样的“全局包含”。。。在这里抓救命稻草p 谢谢 汤姆 我可以实例化一个类而不包含它吗 我想这是不可能的,因为在使用class类型的变量之前,编译器应该明确地看到当前

基本上我有一大堆类,它们都是UIView的子视图

该应用程序是一种幻灯片应用程序。我希望能够列出幻灯片在plists中可能采用的潜在“路线”

因此,我可能有100个类,我不想把所有类都包含在我可能使用其中一个类的可能性中

有办法解决这个问题吗?我可以实例化一个类而不包含它吗

还是我必须包括我将要使用的所有潜在类

是否有像
包含所有内容那样的“全局包含”
。。。在这里抓救命稻草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节课让我怀疑你是否有一个好的课堂设计。你提到有“可能的路线列表