2013-11-04 43 views
0

我是很新,Objective-C的,我想只是玩一些不同的代码行的时候出现错误,这是我到目前为止有:获取试图调用setter方法

CardGame.h

#import <UIKit/UIKit.h> 
#import <Foundation/Foundation.h> 

@interface CardGameViewController : NSObject 

@property (nonatomic) BOOL flipped; 

@end 

而且我

CardGame.m

#import "CardGameViewController.h" 


@interface CardGameViewController() 

@end 


@implementation CardGameViewController 

@synthesize flipped; 

- (IBAction)cardButton:(UIButton *)sender { 
    NSLog(@"%d", flipped); 
    [setFlipped: true]; 
} 

@end 

我收到一条错误,说我的阅读内容为Use of undeclared identifier 'setFlipped',打电话给@synthesize应该在幕后创建一个setter/getter,所以我不确定为什么这样不起作用。任何想法我可以如何设置这个布尔值为真,为什么我现在不工作?

+2

应该是'[self setFlipped:true];'还是'self.flipped = true;'? – rmaddy

+1

另一件事 - 为什么你的'CardGameViewController'扩展了'NSObject'?鉴于类的名称,它应该扩展'UIViewController'(或其他一些变体)。类名应该反映它们是什么。 – rmaddy

回答

1

[setFlipped: true]是无效的语法。带有一个parm的方法调用是[object methodName:parm]。你没有提供一个对象,没有一个对象的方法不能被识别。