我在ClassA中有一个结构,并希望将它分配给ClassB中的相同结构(两个结构具有不同的名称相同)。 ClassA和ClassB是视图控制器。基本上,我需要将此结构传递给另一个类。但是,结构似乎不会作为成员公开,这意味着我无法访问它们。这是在其头文件中声明的ClassA的结构:
typedef struct {
NSString *startDate;
NSString *endDate;
NSString *classId;
} selectedItemsClassAStruct;
selectedItemsClassAStruct selectedItemsClassA;
和ClassB相同(只更换了ClassA文本)
它没有出现在ClassB的代码提示中。如果我尝试访问它,我会看到此错误:
request for member 'selectedItemsClassBStruct' in something not a structure or union
应该怎么做?
答案 0 :(得分:1)
你想要做的是被称为重新演绎演员或打字;这意味着将一个结构改为另一个具有相同成员的结构。
例如,Cocoa使用此技巧将NSRect
转换为CGRect
。
我建议您阅读good post撰写的主题Matt Gallagher。
答案 1 :(得分:0)
Matt Gallagher描述了如何(安全地)在this post中实现结构的属性。