我有两节课。

GameData.h

#import "TeamData.h"

@property (assign, nonatomic) GameData* teamA;


TeamData.h

@interface TeamData : NSObject

@property (nonatomic, copy) NSString* teamName;
-(void) printTeamData;


一些问题:


在GameData.m内部,我有以下代码:

TeamData *团队= self.teamA;
[team printTeamData];


第一行显示此警告:

Incompatible pointer types from TeamData* with an expression of type TeamData*



在另一个类中,我包括GameData.h,我想设置teamA名称。我该如何访问?所以我想从GameData类中获取teamA属性并设置其name属性。

最佳答案

在GameData.h中,您的属性指向其自己的类,而不是TeamData

@property (assign, nonatomic) GameData* teamA;

assign用于原始类型,例如BOOL或NSInteger。

父类应包含对子对象的strong引用。

所以你的财产会更好

@property (strong, nonatomic) TeamData* teamA;

至于设置teamA属性,您可以在setTeamA:实例上调用GameData

[myGameData setTeamA:...];

10-05 21:17