странная ошибка времени компиляции на XCode - PullRequest
1 голос
/ 08 ноября 2011

код в xcode 4.2

Game Model.h

#import <Foundation/Foundation.h>

@interface Game_Model : NSObject{
    NSString  *playerName;
    int play;
    int won;
}

@property (nonatomic,retain) NSString *playerName;
@property (nonatomic,readonly,assign) int play;
@property (nonatomic,readonly,assign) int won;
@end

Game Model.m

#import "Game Model.h"

@implementation Game_Model
@synthesize playerName,play,won;

+(NSString *)description{
    return [NSString stringWithFormat:@"%@. Player:%@. Score: %d/%d",[super description],self.playerName,self.won,self.play];
}
@end

Я сделал точно (или почти точно), как в книге, но я получил сообщения об ошибке:

  • неявное преобразование указателя Objective-C в 'struct objc_class * 'не разрешено с ARC
  • тип ссылки на член 'struct objc_class *' - указатель; может быть, вы хотели использовать '->'?
  • неполное определение типа 'struct objc_class'. Проблема автоматического подсчета ссылок:
  • Неявное преобразование указателя Objective C в 'struct objc_class * 'не разрешено с ARC Я просто понятия не имею об этих ошибках! Пожалуйста, помогите мне!

Ответы [ 2 ]

5 голосов
/ 08 ноября 2011

description не метод класса, а метод экземпляра. То, что вы создаете, это метод класса: +(NSString*)description;. Вы не должны пытаться получить доступ к свойствам экземпляра (ivars) в методе класса. Измените + на -. Удачи!

0 голосов
/ 08 ноября 2011

Я думаю, что вы пытаетесь сослаться на это

[super description]

и это может немного помешать, попробуйте вернуться без этого и посмотрите, что произойдет

return [NSString stringWithFormat:@"Player:%@. Score: %d/%d",self.playerName,self.won,self.play];
...