Bonjour à tous,

j'ai créé une classe dérivée de UIViewController, que j'instancie à l'aide d'une méthode initWithTrame: qui appelle initWithNibName:bundle: comme ceci,

myViewController.h
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
@interface myViewController : UIViewController {
 
    NSString * confID;
    NSString * confName;
 
    // Config Dimension
    NSUInteger configHeight;
    NSUInteger configWidth;
}
 
@property(retain,nonatomic) NSString * confID;
@property(retain,nonatomic) NSString * confName;
@property NSUInteger configHeight;
@property NSUInteger configWidth;
 
@end
myViewController.m
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
@implementation myViewController
 
@synthesize confID,confName,configHeight,configWidth;
 
-(id)initWithTrame:(NSDictionary *)trameInit{
 
    NSString * nibName;
	if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad)
		nibName=@"myView_iPad";
	else 
		nibName=@"myView_iPhone";
 
    if(self=[super initWithNibName:nibName bundle:nil]){
 
        if([trameInit objectForKey:PDUTYPECONFID]!=nil)
            self.confID=[trameInit objectForKey:PDUTYPECONFID];
        else
            self.confID=@"0";
self.confName=[trameInit objectForKey:PDUTYPECONFNAME];
         NSUInteger h=[[trameInit objectForKey:INITHEIGHT] intValue];
         NSUInteger w=[[trameInit objectForKey:INITWIDTH] intValue];
         self.configHeight=h;
         self.configWidth=w;
    }
    return self;
}
 
@end
Quand j'exécute le code pas à pas, j'observe ceci:
h et w sont corrects après leur affectation (h=1400, w=1920), puis, en passant sur la ligne self.configHeight=h, c'est configWidth qui prend pour valeur 1400 (???), quand je passe ensuite sur self.configWidth=w, rien ne se passe.

Je me retrouve avec:
h=1400
w=1920
configHeight=0
configWidth=1400

Je n'arrive pas à saisir ce qu'il se passe pendant l'initialisation pour arriver à des résultats pareils. Si quelqu'un peut m'expliquer j'en serai ravi.

Merci d'avance.