2011-11-08 2 views
1

코드는 4.2이상한 컴파일 타임 오류가 엑스 코드에서

게임 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 

게임 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 

나는 같이 정확하게 제작 (또는 거의 정확하게) 하지만 오류 메시지가 나타납니다.

  • 암시 적 conversio 'struct objc_class*'에 대한 Objective-C 포인터의 n은 ARC에서 허용되지 않습니다.
  • 'struct objc_class *'는 포인터입니다. 어쩌면 당신은 '->'을 사용하려고 했나요? '구조체 objc_class'유형의
  • 불완전 정의는 자동 참조 문제를 계산 : 오브젝티브 C 포인터의
  • 암시 적 변환 '구조체 objc_class *'는 단순히 이러한 오류에 대한 아무 생각이 ARC 으로 허용되지 않습니다에! 도와주세요! 조금 주위

답변

5

description 클래스 메소드가 아니라 인스턴스 메소드입니다. 당신이 만드는 것은 클래스 메소드입니다 : +(NSString*)description;. 클래스 메서드에서 인스턴스 속성 (ivars)에 액세스해서는 안됩니다. +-으로 변경하십시오. 행운을 빕니다!

+0

그건 정확히 문제가되었습니다! 제가하고 싶었던 것은 그 방법을 무시하는 것뿐이었습니다. 고마워요! –

0

난 당신이

[super description] 

을 참조하려고하는 생각이 힘 엉망 일들이 그없이 수익을 시도하고 무슨 일이 일어 나는지

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

나는 이전 게시물에서 내 모든 문제를 해결했기 때문에이 게시물이 유용하다는 것을 알지 못했지만 어쨌든 감사합니다! –

관련 문제