我在一个单独的文件中有一个相当简单的方法,它接受一个整数,在case select中查找它,并返回一个与之对应的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对象,我希望将返回的值存储在其中。其次,这个方法根本没有被调用的原因是什么?我真的很难过,但我确信这很简单。
先谢谢!
答案 0 :(得分:1)
Chech sceneChanger
不是nil
。您可以向nil
发送消息,但该方法无法被调用。
修改您应该在这样的地方初始化sceneChanger
:
sceneChanger = [[ChangeCurrentScene alloc] init];