Objective C Свойства - PullRequest
       1

Objective C Свойства

0 голосов
/ 30 июля 2011

Я пытался найти эту проблему, но не могу понять, что я делаю неправильно.

Вот мой заголовок контроллера:

#import <UIKit/UIKit.h>

@interface BabyLearnViewController : UIViewController {
    UIButton *btnImage;
    MediaManager* myMediaManager;
}
@property (nonatomic, retain) IBOutlet UIButton *btnImage;
@property (retain) MediaManager* myMediaManager;

- (IBAction)setNewImage;

@end

Вот мой контроллеркласс:

#import "BabyLearnViewController.h"
#import "MediaManager.h";

@implementation BabyLearnViewController

@synthesize btnImage;
@synthesize myMediaManager;

Я получаю ошибки:

error: expected specifier-qualifier-list before 'MediaManager'
error: no declaration of property 'myMediaManager' found in the interface   

Есть идеи?Обычно 1-ая ошибка появляется, если у вас есть цилиндрическая ссылка.«MediaManager» больше ни на что не ссылается.Есть идеи?

Ответы [ 3 ]

8 голосов
/ 30 июля 2011

Поскольку у вас нет упоминания о классе MediaManager, в данный момент он используется в заголовочном файле, компилятор не может выяснить, что такое «MediaManager», и выдает ошибку. Объявите этот класс, используя предварительное объявление в вашем заголовочном файле, чтобы сообщить компилятору, что MediaManager на самом деле является классом:

@class MediaManager;
@interface BabyLearnViewController : UIViewController {
   ...

P.S. В качестве альтернативы вы можете импортировать MediaManager.h в свой заголовок, но предпочтительнее использовать предварительное объявление.

2 голосов
/ 30 июля 2011

Поместите #import "MediaManager.h" в заголовочный файл BabyLearnViewController

1 голос
/ 30 июля 2011

попробуйте добавить @class MediaManager; до @ interface

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...