分配给不同类中的struct

时间:2010-04-18 16:37:34

标签: iphone objective-c cocoa-touch

我在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

应该怎么做?

2 个答案:

答案 0 :(得分:1)

你想要做的是被称为重新演绎演员或打字;这意味着将一个结构改为另一个具有相同成员的结构。

例如,Cocoa使用此技巧将NSRect转换为CGRect

我建议您阅读good post撰写的主题Matt Gallagher

答案 1 :(得分:0)

Matt Gallagher描述了如何(安全地)在this post中实现结构的属性。