Метод не вызывается

У меня есть довольно простой метод в классе в отдельном файле, который принимает целое число, ищет его в случае выбора и возвращает указатель NSURL, который соответствует ему. У него есть этот метод:

#import <Foundation/Foundation.h>

@interface ChangeCurrentScene : NSObject
{
    NSString *filePath;
    NSURL *url;
    int currentScene;
}

- (NSURL *)changeSceneURL:(int)toDesiredScene;

@end

Я не уверен на 100%, как я должен вызывать его извне, но у меня есть кнопка, подключенная к моей раскадровке, которая определенно работает, и я использую эту строку для ее вызова:

 nextURL = [sceneChanger changeSceneURL:1];

Из этого заголовочного файла:

@interface MSViewController : UIViewController <AVAudioPlayerDelegate> {

    BOOL userInputAvailable;
    int currentScene;
    NSURL *nextURL;
    ChangeCurrentScene *sceneChanger;

}

@property (strong) AVAudioPlayer *menuPlayer;
@property (strong, nonatomic) IBOutlet UILabel *userChoiceLabel;
@property (strong, nonatomic) IBOutlet UIImageView *nowPlayingIcon;


- (BOOL) playScene : (NSURL *)fileToBePlayed;

@end

Я поместил точку останова в первую строку класса changeSceneURL:toDesiredScene, но он вообще не вызывается. Без сбоев, но и без звонков. Во-первых, это правильный способ использовать возврат из вызываемого метода? nextURL является объектом NSURL, и я хочу, чтобы возвращаемое значение было сохранено в нем. Во-вторых, по какой причине этот метод вообще не вызывается? Я действительно в тупике, но я уверен, что это что-то ослепительно простое.

Заранее спасибо!

1 ответ

Решение

Чеч то sceneChanger не является nil, Вы можете отправлять сообщения nil, но метод не вызывается.

Редактировать Вы должны инициализировать sceneChanger где-то так:

sceneChanger = [[ChangeCurrentScene alloc] init];
Другие вопросы по тегам