方法没有被调用

时间:2012-02-22 18:33:36

标签: objective-c methods xcode4.2 call nsurl

我在一个单独的文件中有一个相当简单的方法,它接受一个整数,在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对象,我希望将返回的值存储在其中。其次,这个方法根本没有被调用的原因是什么?我真的很难过,但我确信这很简单。

先谢谢!

1 个答案:

答案 0 :(得分:1)

Chech sceneChanger不是nil。您可以向nil发送消息,但该方法无法被调用。

修改您应该在这样的地方初始化sceneChanger

sceneChanger = [[ChangeCurrentScene alloc] init];
相关问题