2013-03-05 40 views
-1

我是Objective C新手,所以请原谅我的问题的简单性。Objective C中各个类的属性C

我有一个类,让我们把它叫做Class A和它看起来像这样

@interface A() 
@property (weak, nonatomic) IBOutlet UISegmentedControl *segment; 
@end 

@implementation A 
    ... 

现在我想做的事情,就是在class B“得到”的片段。我曾尝试做这个

@interface B() 
@property (nonatomic) B *cardy; 
@end 

@implementation B 
... 

然后我想这样做cardy.segment这样做,但我似乎无法访问它。我在A中尝试使用@synthesize,但需要确保如何正确实现“get”。任何建议将不胜感激。

+0

当您尝试访问它时会发生什么?此外,您通常不需要使用当前版本的编译器的@synthesize。如果你有一个财产,你可以免费获得getter和setter。 – mrueg 2013-03-05 18:44:44

+0

如果我尝试做,如果(* cardy.segment.selectedSegmentIndex == 1),我得到错误“使用未声明的标识卡迪) – user2137032 2013-03-05 18:48:38

+1

你究竟想要做什么? 如果你想访问一个属性使用此.cardy,但我没有看到你想要达到的目标。如果a是定义段的类,为什么B不是A的cardy? – 2013-03-05 19:11:26

回答

1

声明.h文件中的属性,而不是.m文件。另外,确保A.h在B.m中导入

+0

仍在挣扎中。在Ah中声明属性并将其导入Bm中,但仍然无法执行cardy.segment .. – user2137032 2013-03-06 23:36:18

+0

声明这样的属性:@property(nonatomic,strong)B * cardy;并像下面这样访问它:self.cardy.segment或_cardy.segment – Dimitar08 2013-03-07 04:41:53