2015-01-20 2 views
1

я хочу вызвать метод «шоу()», но почему я получаю сообщение об ошибке, что «ожидается идентификатор или (» и «использование необъявленной себя идентификатор»вызов метода из того же класса в Xcode

ViewController. м

#import <UIKit/UIKit.h> 

@interface ViewController : UIViewController 
{ 
    NSDictionary *inventory; 
} 
- (void)shows; 
@end 

ViewController.m

#import "ViewController.h" 

@interface ViewController() 

@end 

@implementation ViewController 

- (void)viewDidLoad { 
[super viewDidLoad]; 
inventory = @{@"Rahul":[NSNumber numberWithInt:11], 
       @"iOS":[NSNumber numberWithInt:22]}; 
// Do any additional setup after loading the view, typically from a nib. 
} 

- (void)didReceiveMemoryWarning { 
    [super didReceiveMemoryWarning]; 
    // Dispose of any resources that can be recreated. 
} 

    - (void)shows 
    { 
     NSLog(@"%@",inventory); 
    } 


    [self shows]; 
@end 
+0

вот скриншот ошибки HTTP: //screencast.com/t/DR604TYpBF – Dalvik

+1

звонок ** [самовыражения]; ** внутри любого метода –

+0

я не понял. Я должен сделать другой метод? – Dalvik

ответ

3

Вы не можете назвать [view shows]; в рамках класса, вам нужно вызвать его в методе, как и в viewDidLoad Назовите это так:

- (void)viewDidLoad { 
     [super viewDidLoad]; 
     inventory = @{@"Rahul":[NSNumber numberWithInt:11], 
      @"iOS":[NSNumber numberWithInt:22]}; 
     // Do any additional setup after loading the view, typically from a nib. 
     [self shows];//SHOWS call moved here... 

} 
0

Вы должны поместить код в другой метод, он не может быть оставлена ​​в открытом ею самостоятельно.

Поместите его в свой viewDidLoad: метод или в другое место

1

Вы не можете вызвать этот метод снаружи. Вы можете вызвать его внутри любого другого метода. Как вы можете назвать этот метод в ViewDidLoad.

- (void)viewDidLoad { 
     [super viewDidLoad];  
     [self shows]; 
} 
Смежные вопросы