-1

我要问的问题是 - 我如何在声明为另一个对象的头文件的一部分的对象中声明、引用、实例化/初始化和设置值。

而且,当然欢迎任何其他提示/建议。


我正在尝试创建一个在另一个对象中使用的对象。我尝试了很多变化,但显然遗漏了一些东西。

我有一个类(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;

这似乎是封装、初始化和引用另一个新对象的最佳方式,但显然我做错了。

谢谢!!

4

1 回答 1

2

根据您的评论,“我收到编译错误:"_OBJC_CLASS_$_wordMarker", referenced from ... linked command failed with exit code 1”,

我认为你错过了@implementation wordMarker. 没有实现就不能声明接口

于 2013-10-04T03:37:21.173 回答