我问的问题是 - 如何在声明为另一个对象头文件的一部分的对象中声明,引用,实例化/初始化和设置值。
并且,当然欢迎任何其他提示/建议。
我正在尝试创建另一个对象中使用的对象。我尝试了很多变化,显然遗漏了一些东西。
我有一个类(GameDetail)的头文件,我在其中声明了另一个对象(wordMarker),并按如下方式引用它:
@class GameDetail;
// object used to store starting and ending letter for word selection
@interface wordMarker : NSObject
@property (nonatomic, assign) int row;
@property (nonatomic, assign) int col;
@property (nonatomic, assign) int position;
@property (nonatomic, assign) UIButton *button;
@end
@interface GameBoardViewController : UIViewController
{
AppDelegate *objAppDelegate;
wordMarker *startingLetter;
wordMarker *endingLetter;
}
@property GameDetail *gameDetail;
@end
在类文件中,我尝试了以下变体:
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
if (self) {
// Custom initialization
startingLetter = [wordMarker new];
endingLetter = [wordMarker new];
}
return self;
}
或
中的类似电话-(void)viewWillAppear:(BOOL)animated
...
startingLetter = [[wordMarker alloc] init];
我像这样引用这些实例:
startingLetter.row = letterRow;
startingLetter.col = letterCol;
startingLetter.position = letterNum;
startingLetter.button = validButton;
这似乎是封装,初始化和引用另一个新对象的最佳方式,但显然我做错了。
谢谢!
答案 0 :(得分:2)
根据您的评论,“我收到编译错误:"_OBJC_CLASS_$_wordMarker", referenced from ... linked command failed with exit code 1
”,
我认为你错过了@implementation wordMarker
。
没有实现