0

我是 Objective C 的新手,我在 C++ 上编程,现在我不知道如何使用@property ...以及何时使用它我对此很感兴趣,我不明白

现在我正在尝试用 C++ 制作一个项目并尝试以客观 C 方式输入

我正在尝试制作(CHECKERS GAME)并且有 2 个类 1- Board 2- Cell ...这是 Cell Class.h

#import <Foundation/Foundation.h>

@interface Cell : NSObject

{
    int number;
    char checker;
}
@end

在船上 Class.h

#import <Foundation/Foundation.h>
#import "Cell.h"
//I dont know use it or not :S the @class
//@class Cell;

@interface Board : Cell
{
  //is the definition right ?
  Cell *DrawCell[64];

}

当我输入 board.m

   [ DrawCell [i] checker] = 'X' ;

它给出了这个错误:
不允许分配给 Objective-C 消息的“只读”返回结果

虽然我打字

@property (nonatomic) int number ;
@property (nonatomic) char checker;

我试图合成它们,但它也显示了这个错误

请解释做什么、为什么做以及什么时候做

谢谢 :-)

4

1 回答 1

1

你必须使用:

[DrawCell [i] setChecker:'X']

或者

DrawCell[i].checker = 'X'

像你一样调用和做一样

DrawCell[i].GetChecker() = 'X'

在 C++ 中,具有此定义

class Cell {
  public:
    char GetChecker() { return _checker; }
    void SetChecker(char newVal) { _checker = newVal; }
  private:
    char _checker;
}
于 2012-09-08T22:32:08.777 回答