0

私のコードには、別のクラスのメソッドを呼び出す部分があります。

別のクラスはシングルトンです。

すべてが正常に機能するclassまで、これには何の問題もありませんでした。today理由はわかりませんが、重要でない変更をいくつか行った後today、コードは私のコードの一部を無視しているようです。すべてが問題なく、すべての行を通過しているようですが、シングルトン クラスのメソッドの 1 つにブレークポイントを配置しても停止しません。それらのメソッドを呼び出さないだけです。

なぜそれができるのか、誰かが考えを持っていますか?

プロジェクトのクリーニングを試み、終了を試みXcodeましたが、これまでのところ何も役に立ちませんでした。

これは、シングルトン「.m」のメソッドがどのように見えるかの例です。

-(void)setUserCurrentLocationWithLatitude:(NSNumber *)latitude andLongitude:(NSNumber *)longitude andUserIndex:(NSNumber *)userIndex{
    NSMutableArray* tempPlayersArray = [NSMutableArray arrayWithArray: [[NSUserDefaults standardUserDefaults] arrayForKey: @"kgpsUsersArray"]];

    NSMutableDictionary * userTempDict = [[NSMutableDictionary alloc] initWithDictionary:[tempPlayersArray objectAtIndex:[userIndex integerValue]]];

    NSLog(@"latitude = %f",[latitude floatValue]);

    [userTempDict setObject:latitude forKey:@"latitude"];
    [userTempDict setObject:longitude forKey:@"longitude"];

    [defaults setObject:tempPlayersArray forKey:@"kgpsUsersArray"];

    [defaults synchronize];
}

これが「.h」ファイルでの定義方法です。

-(void)setUserCurrentLocationWithLatitude:(NSNumber *)latitude andLongitude:(NSNumber *)longitude andUserIndex:(NSNumber *)userIndex;

そして、私のviewController.mファイルでは、シングルトンが次のように初期化されて呼び出されています:

#import "PlayersData.h"
usersData = [PlayersData sharedInstance];

メソッドは次のように呼び出されます。

[usersData setUserCurrentLocationWithLatitude:[NSNumber numberWithFloat:32.125493] andLongitude:[NSNumber numberWithFloat:34.858962] andUserIndex:[NSNumber numberWithInt:j]];

ありがとう、

4

1 に答える 1

0

シングルトンが作成されていない可能性があります。デバッグして、nil でないことを確認します。

于 2012-12-25T11:07:24.110 に答える