Имущественные проблемы
Я новичок в цели C, и я программировал на C++, и теперь я не знаю, как использовать @property ... и когда его использовать, я много об этом говорил, и я не понимал,
и теперь я пытаюсь сделать проект, сделанный в C++, и пытаюсь печатать объективным способом C
я пытаюсь сделать (игра для проверки), и есть 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;
и я попытался синтезировать их, но это также показывает эту ошибку
объясните пожалуйста что делать и зачем делать и когда делать
Спасибо:-)
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;
}