Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/117.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 目标C中跨类的属性_Ios_Objective C - Fatal编程技术网

Ios 目标C中跨类的属性

Ios 目标C中跨类的属性,ios,objective-c,Ios,Objective C,我不熟悉目标C,所以请原谅我问题的简单性 我有一个类,我们叫它class a,它看起来像这样 @interface A() @property (weak, nonatomic) IBOutlet UISegmentedControl *segment; @end @implementation A ... 现在我想做的是“获取”B类中的段。我已经试着这样做了 @interface B() @property (nonatomic) B *cardy; @end @implementa

我不熟悉目标C,所以请原谅我问题的简单性

我有一个类,我们叫它
class a
,它看起来像这样

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

@implementation A
  ...
现在我想做的是“获取”B类中的段。我已经试着这样做了

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

@implementation B
 ...

然后我想做
cardy.segment
,但我似乎无法访问它。我试着在一个示例中使用
@synthesis
,但需要确保如何正确地实现“get”。任何建议都将不胜感激。

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

当您尝试访问它时会发生什么?另外,在当前版本的编译器中通常不需要@synthesis。如果您有属性,您可以免费获得getter和setter。如果我尝试执行if(*cardy.segment.selectedSegmentIndex==1),我会得到错误“使用未声明的身份识别卡迪)。你到底想做什么?如果您想访问某个属性,请使用this.cardy,但我看不出您想要实现什么。如果A是定义了段的类,为什么B的cardy不是A?A是我故事板的控制器,B包含我的模型。我想检查用户是否为UI滑块选择了特定的状态,并根据状态在B中执行不同的操作。仍在努力解决此问题。在A.h中声明属性并在B.m中导入,但仍然无法执行cardy.segment..声明如下属性:@property(nonatomic,strong)B*cardy;并按如下方式访问:self.cardy.segment或_cardy.segment