私は非常に単純なメソッドを別のファイルに入れています。これは整数をとり、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オブジェクトであり、返された値をその中に格納します。第二に、メソッドが全く呼び出されない理由は何でしょうか?私は本当にここで困惑していますが、私はそれが盲目的に単純なものだと確信しています。
ありがとうございました!
を、あなたは名前sceneChangerを持つオブジェクトのヘッダファイルを表示することができますか?このオブジェクトは、メソッドchangeSceneURL:がある場所にある必要があります。しかし何か他のことが起こっている可能性がありますので、元の質問にヘッダファイル全体を追加してください。 – Jim
'nextURL ='行にブレークポイントを置き、sceneChangerの値を確認してください。おそらく無しです。 – jrturton