Bonjour,

J'ai un probleme de singeton :

J'ai une classe AppContextManager qui a un singleton :

Code :Sélectionner tout -Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
+(id) sharedManager{
    @synchronized(self) {
        if(instanceManager == nil)
        {
            instanceManager = [[self alloc] init];
        }
    }
    return instanceManager;
}


J'enregistre des attributs dans ce singleton dans une classe ApiAppConfig :

Code :Sélectionner tout -Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
- (void)testHalManager{
 
    MockAppConfiguration *mock = [MockAppConfiguration mockObject];
    [[AppContextManager sharedManager] setAppConfiguration:mock];
 
    NSLog(@"APP CONFIGURATION %@", [[AppContextManager sharedManager] appConfiguration]);
    NSLog(@"APP CONFIG %@", [[[AppContextManager sharedManager] appConfiguration] appConfig]);
    NSLog(@"WEBAPI2 %@", [[[[AppContextManager sharedManager] appConfiguration] appConfig] webAPI2]);
 
    HALManager * halManager  = [[HALManager alloc] init];
    [halManager provideHALClient];
}


tout va bien je vois bien mes attributs ! mais ce que je ne comprend pas c'est quand dans la classe HALManager j'ai mes attributs a nil !

Code :Sélectionner tout -Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
-(ATEHALClient *) provideHALClient{
 
    [ATEHALClient sharedHALClient].webAPIManager.oauth2Manager  = [self provideOAuth2Manager];
 
    NSLog(@"%@", [ATEHALClient sharedHALClient].webAPIManager.oauth2Manager);
 
    return nil;
}
 
-(ATEOAuth2Manager *) provideOAuth2Manager{
 
    NSLog(@"APP CONFIGURATION %@", [[AppContextManager sharedManager] appConfiguration]);
    NSLog(@"APP CONFIG %@", [[[AppContextManager sharedManager] appConfiguration] appConfig]);
    NSLog(@"WEBAPI2 %@", [[[[AppContextManager sharedManager] appConfiguration] appConfig] webAPI2]);
 
    AppConfig * appConfigInfo    = [[[AppContextManager sharedManager] appConfiguration] appConfig];
 
    if(appConfigInfo == nil)
    {
        BKLogE(@"AppConfigInfo shoud not be nil");
        return nil;
    }
    ATEOAuth2Manager * oauth2Manager    = [[ATEOAuth2Manager alloc] init];
    [oauth2Manager setBaseURL:appConfigInfo.authBaseUrl];
    [oauth2Manager setAccessTokenURI:appConfigInfo.webAPI2.authAccessTokenURL];
    [oauth2Manager setConcreteAuthorizationRegexes:appConfigInfo.webAPI2.concreteAuthorizations];
    [oauth2Manager setupConcreteAuthorizations:appConfigInfo.webAPI2.authorizations];
    return oauth2Manager;
}


ca fais un bon moment que je bloque dessus et je ne comprend pas pk. quelqu'un voit t'il une explication ?
Merci d'avance