0

我注意到一些非常奇怪的事情。

我有一个带有属性的 A 类:

 @interface ClassA
 @property (nonatomic, strong) NSString *test;

和 .m 文件中的合成。

现在,如果我有如下的第二个 B 类:

 #import "ClassA.h"

 -(void) someMethod
 {
      ClassA *classA = [[ClassA alloc] init];
      classA.test = @"test";
 }

如果 2 个类文件在同一个文件夹中,这将正常工作。

但是,如果我将文件移动到单独的子文件夹,它将不再起作用。我得到的错误是该属性不存在。同样,'intellisense' 将不再显示测试属性。

如果我在 xcode 中创建文件夹组,但将实际文件留在同一个物理文件夹中,它确实有效。

这里发生了什么?

这不可能是包含路径问题,因为那时我什至无法实例化 ClassA。

4

3 回答 3

1

已经尝试过 Xcode 菜单“product:clean”?

我会尝试从模拟器中删除您的应用程序,以及 Xcode:preferences:locations:derived data -> from finder delete that finder folder

于 2012-06-28T12:07:37.243 回答
1

COMMAND+SHIFT+K在 iOS 模拟器中尝试并重置内容和设置。

你试过@class ClassA吗?

于 2012-06-28T12:11:19.647 回答
0

我解决了。我有一个包含的子项目,它使用了一个名称完全相同的类。啊啊啊……

显然在编译过程中没有错误,并且不清楚它将导入哪些文件。

于 2012-06-28T13:05:19.950 回答