在NSEnumerator sdk中使用iPhone通常没有问题,但这是我第一次在UIView的DrawRect函数中使用它。NSEnumerator迭代器导致错误:请求成员“(成员)”,而不是结构或联合。。
( 1)为何会出现这种情况?
2)我怎样才能解决这个问题?
(P.S.未被识别的成员是NSObject子类的一个正确声明和合成的属性,该子类的.h文件被正确导入到UIView .m文件中,而drawRect函数调用NSEnumerator)
发布于 2009-08-18 12:03:58
很难说不看代码。但通常,当您有如下内容时,编译器会发出该错误:
@interface MyClass : NSObject {
int someValue;
}
@end……然后在实施中..。
MyClass *aPointer;
int index = aPointer.someValue;在这种情况下,你真的会想
int index = aPointer->someValue;显然,对于属性,语法略有不同。您断言该属性是正确声明和合成的,但编译器显然不同意。不过,我不确定在没有看到一些代码摘录的情况下,人们能给你多少帮助。NSEnumerator本身不可能识别您的成员是非常不可能的。相反,您在迭代器上下文中编写的一些代码有一个错误。
发布于 2009-08-18 13:10:10
需要记住的另一件事是,NSEnumerator返回ids,而不是对象指针(除非您正在转换它们)。id没有属性,因此访问id上的属性的任何尝试都将失败。正如peterb所说,在这里看到代码会有很大帮助。
https://stackoverflow.com/questions/1292974
复制相似问题