Метод не вызывается
У меня есть довольно простой метод в классе в отдельном файле, который принимает целое число, ищет его в случае выбора и возвращает указатель 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];