Push d'un navigateur sur clic UIImageView

2»

Réponses

  • Philippe49Philippe49 Membre
    09:58 modifié #32
    Mais as-tu essayé initWithNibName ?? au lieu de init ?

    [[  alloc] init] c'est lorsque on configure dans loadView et non viewDidLoad, où lorsqu'on renseigne la property nibName du viewController.
  • Philippe49Philippe49 Membre
    09:58 modifié #33
    dans 1239357357:

    dans 1239353462:

    Si tu veux de multiples exemplaires de Mytag, il faut supprimer le MyTag dans le xib, ainsi que l'IBOutlet correspondant. Puis dans ta boucle de créations, utiliser initWithNibName.


    ça c'est si on veut charger plusieurs fois le .xib
    Si on veut mettre plusieurs fois une vue dans une autre vue, c'est plus facile, il suffit d'allouer/initialiser la vue, de setter son frame et son bounds et d'utiliser "addSubview"


    Oui c'est l'autre solution que j'allais lui proposer en fin, réfléchir sur un tableau de view plutôt qu'un tableau de view controllers ...
  • allianallian Membre
    avril 2009 modifié #34
    j'ai essaye avec le initWithNibName () la place de init dans viewDidLoad() mais ca n'a rien changé

    // Implement viewDidLoad to do additional setup after loading the view, typically from a nib.<br />- (void)viewDidLoad {<br />	<br />	self.title = @&quot;QuikTV&quot;;<br />	CGFloat x = 50;<br />	CGFloat y = 50;<br />	int i,j;<br />	<br />	NSArray *monTab = [[NSArray alloc] initWithObjects: @&quot;huh&quot;, @&quot;hih&quot;, @&quot;hoh&quot;, nil];<br />	j = [monTab count];<br />	<br />	NSMutableArray *viewControllers = [NSMutableArray array];<br />	<br />	for (i = 1; i &lt;= j; i = i + 1)<br />	{<br />		MyTag *monTag = [[MyTag alloc] initWithNibName:@&quot;MyTag&quot; bundle:nil] ;<br />		monTag.myName = @&quot;Surf&quot;;<br />		monTag.urlImage = @&quot;http://qe08/upload/videos//ID-119-2-illunews.jpg&quot;;<br />		monTag.x = x + 50;<br />		monTag.y = y + 50;<br />		<br />		[viewControllers addObject: monTag];<br />		<br />		// *********************<br />		[self.view insertSubview:monTag.view atIndex:i];<br />		[monTag release];<br />	}<br />&nbsp; &nbsp; [super viewDidLoad];<br />}
    


    ca c'est mon code dans ma classe TagCloudNavigationController (j'ai changé le nom)

    @interface TagCloudNavigationController : UIViewController {<br /><br />}
    


    c'est mon contrôleur qui se devrait d'afficher mes instances de MyTag (j'ai une classe et un xib de ce nom)

    @interface MyTag : UIViewController {<br />	<br />	NSString *myName;<br />	NSString *urlImage;<br />	IBOutlet UIImageView *myTagImage;<br />	IBOutlet UILabel *myTagName;<br />	CGFloat x;<br />	CGFloat y;<br /><br />}<br /><br />@property(nonatomic) CGFloat x;<br />@property(nonatomic) CGFloat y;<br />@property(nonatomic, retain) NSString *myName;<br />@property(nonatomic, retain) NSString *urlImage;<br />@property(nonatomic, retain) IBOutlet UIImageView *myTagImage;<br />@property(nonatomic, retain) IBOutlet UILabel *myTagName;<br /><br />@end
    


    et son .m

    #import &quot;MyTag.h&quot;<br />#import &quot;NavigationViewController.h&quot;<br />#import &quot;TagCloud.h&quot;<br /><br /><br /><br />@implementation MyTag<br />@synthesize myTagName, myTagImage, urlImage, myName, x, y;<br /><br /><br /><br />// Implement viewDidLoad to do additional setup after loading the view, typically from a nib.<br />- (void)viewDidLoad {<br />	<br />	NSData *imageData = [[NSData alloc] initWithContentsOfURL:[NSURL URLWithString:urlImage]];<br />	UIImage *myCurrentImage = [[UIImage alloc] initWithData:imageData];<br />	myTagImage.image =&nbsp; myCurrentImage;<br />	myTagImage.contentMode = UIViewContentModeScaleAspectFit;<br />	myTagName.text = myName;<br />	myTagImage.userInteractionEnabled = YES;<br /><br />	CGPoint monCentre = CGPointMake(x, y);<br />	self.view.center = monCentre;<br />	<br />&nbsp; &nbsp; [super viewDidLoad];<br />}
    





    Petite précision, je ne veux pas charger plusieurs fois la meme vue dans ma vue mere mais des instances de cette vue/classe car chacune devra avoir des propriétés différentes, ce sont en faite des "icones" chacune représenté par une image et un texte
  • allianallian Membre
    avril 2009 modifié #35
    aaaaaaaaahhhhh j'ai trouvé la solution !!!

    depuis le début tout était bon en faite...j'ai honte de moi.

    à  me concentrer sur les vues et les contrôleurs j'en ai oublié l'essentiel, mon calcul de coordonnées !!
    je reaffichait mes vues les unes sur les autres en faite  :o

    x += 50;<br />		y += 50;<br />		monTag.x = x;<br />		monTag.y = y;
    



    pour une entrée sur le forum j'ai fait fort!!!
  • allianallian Membre
    09:58 modifié #36
    Rebonjour,

    je sens que vous allez me trouver boulet a poser tout le temps des questions mais bon je tente tout de même.

    J'ai un petit souci, j'ai donc mes instances d'images bien affichées dans ma vue parente. JE souhaiterais maintenant qu'au clic de chacune des images on slide sur une autre vue (UINavigationViewController).
    Si je met un bouton dans ma première vue à  son clic j'arrive bien à  slider vers une autre vue mais lorsque j'essaye de faire la même chose avec mes icônes ca ne fonctionne pas.

    Je récupère bien le clic sur chaque image (nslog me dit bien dans quel image je clic et j'arrive bien dans la méthode touchesBegan()
    qui elle appelle la même méthode que j'ai associé à  mon bouton car dans mon log je vois bien toutes les données de ma nouvelle vue à  afficher se charger mais après niveau visuel aucun changement...



    Ceci est la méthode qui me permet de slider vers ma nouvelle vue :
    - (IBAction)switchViews:(id)sender {<br />	<br />	// Navigation logic may go here. Create and push another view controller.<br />	NavigationViewController *newViewController = [[NavigationViewController alloc] init];<br />	newViewController.tagTitle = @&quot;Surf&quot;;<br />	[self.navigationController pushViewController:newViewController animated:YES];<br />	<br />}
    


    et ceci la méthode qui au touché l'appele, je crois que le probleme vient de la et des mes self et super... j'ai essayé plein de trucs mais rien y fait.

    // Finger touches to the Image View will start the movie playing<br />- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {<br />&nbsp; &nbsp; UITouch* touch = [touches anyObject];<br />&nbsp; &nbsp; if (touch.phase == UITouchPhaseBegan)<br />&nbsp; &nbsp; {<br />		TagCloudNavigationController *huh = [[TagCloudNavigationController alloc] init];<br />		[huh&nbsp; switchViews:self];<br /><br />&nbsp; &nbsp; }&nbsp; &nbsp; <br />}
    



    encore merci a tous
  • Philippe49Philippe49 Membre
    avril 2009 modifié #37
    Ta question m'a remémorée une réponse donnée à  Guittonews, que j'ai transformée en tuto (voir dans la rubrique dédiée de osxdev). Cela peut peut-être t'aider.

    Manifestement le navigation controller créé dans switchViews: est "en l'air", non rattaché à  quoi que soit.
    Ton code ne peut pas marcher.

  • yoannyoann Membre
    09:58 modifié #38
    +1 pour Cocoa par la pratique !

    Sinon, j'ai peut être raté quelque chose en lisant les 3 pages mais ça serait peut être plus efficace de nous dires l'objectif visé coté interface/fonctionnement pour qu'on puisse éventuellement te dire si tu es parti dans la bonne direction ?
  • LastikoLastiko Membre
    09:58 modifié #39
    dans 1239397227:

    +1 pour Cocoa par la pratique !

    Sinon, j'ai peut être raté quelque chose en lisant les 3 pages mais ça serait peut être plus efficace de nous dires l'objectif visé coté interface/fonctionnement pour qu'on puisse éventuellement te dire si tu es parti dans la bonne direction ?


    yoann je suis complétement d'accord , meme un debutant peut apprendre aussi en lisant des choses comme ca , enfin c'est mon avis
    toutes les explications qu'ont les cernes tout de suite ou pas sont bonnes a prendre , et la l'excercice eSt pas mauvais , enfin de ce que j'en ai suivi

  • yoannyoann Membre
    09:58 modifié #40
    dans 1239397945:

    dans 1239397227:

    +1 pour Cocoa par la pratique !

    Sinon, j'ai peut être raté quelque chose en lisant les 3 pages mais ça serait peut être plus efficace de nous dires l'objectif visé coté interface/fonctionnement pour qu'on puisse éventuellement te dire si tu es parti dans la bonne direction ?


    yoann je suis complétement d'accord , meme un debutant peut apprendre aussi en lisant des choses comme ca , enfin c'est mon avis
    toutes les explications qu'ont les cernes tout de suite ou pas sont bonnes a prendre , et la l'excercice eSt pas mauvais , enfin de ce que j'en ai suivi



    J'ai pas tout compris là  ^^


    Sinon pour le message d'origine en relisant j'ai l'impression que ce qu'allian veux c'est un UITabBarController avec dans chaqu'un de ses tab un squelette identique, est-ce que c'est bien ça Allian ?
  • schlumschlum Membre
    09:58 modifié #41
    Ah, un détail... Je viens de remarquer que la nouvelle édition de " Cocoa par la pratique " ne s'appelait plus comme ça... le nouveau nom est " Programmation Cocoa sous Mac OS X "  ???
  • CéroceCéroce Membre, Modérateur
    09:58 modifié #42
    Sans doute parce que l'éditeur a changé. C'est maintenant chez Pearson.
  • allianallian Membre
    09:58 modifié #43
    Rebonjour et bonne paques à  tous,

    mon objectif final est d'avoir un UITabBarController avec différents contrôleurs justement dans chaque onglet (un UINavigationController dans au moins un d'entre eux, des UIViewController dans les autres normalement).

    J'ai réussi à  avoir mon UINavController dans mon onglet, dans celui ci j'affiche un certains nombres d'instances d'un même UIViewController qui contient une UIImageView et un UILabel qui sont donc affichés dans ma page un peu comme des icônes avec un titre.

    Mon but est qu'a touché de chaque "icone" je puisse basculer vers mon UINavigation Controller. J'arrive à  faire ceci si par exemple je place un bouton dans ma vue et que j'associe à  son touché ma méthode pour switcher de vue, mais si j'appelle cette même méthode dans la méthode qui récupère le touché de mes UIIMageView cela ne marche pas ou du moins pas entièrement car dans mon log je vois bien que les actions appelées lors du viewDidLoad de mon contrôleur UINavigationController s'exécutent mais après rien ne s'affiche à  l'écran.

    Je pense que le problème vient de l'appel de la méthode qui est fait à  l'intérieur du UIViewController de chaque 'icone'.

    Je vous remet quelques bouts de code pour vous illustrer mes propos.


    Voici l'interface de mon contrôleur où j'affiche toutes mes icônes :

    #import &lt;UIKit/UIKit.h&gt;<br /><br /><br />@interface TagCloudNavigationController : UIViewController {<br /><br />	IBOutlet UIScrollView *myScrollView;<br />	<br />	//tableau contenant les titres des videos<br />	NSMutableArray *tagsList;<br />	//parser du fichier XML<br />	NSXMLParser *myParser;<br />	<br />	// element temporaire ajoute au tableau videoList, nettoye apres chaque entree<br />	NSMutableDictionary *item;<br />	//elements temporaires courants pour chaque balise<br />	NSString *currentElement;<br />	NSMutableString *currentName, *currentId, *currentVignette;<br />}<br /><br /><br />-(IBAction)switchViews:(id)sender;<br /><br />@property (nonatomic, retain) UIScrollView *myScrollView;<br />@property (nonatomic, retain) NSArray *tagsList;<br />@property (nonatomic, retain) NSXMLParser *myParser;<br />@property (nonatomic, retain) NSMutableDictionary *item;<br />@property (nonatomic, retain) NSString *currentElement;<br />@property (nonatomic, retain) NSMutableString *currentName, *currentId, *currentVignette;<br />@end
    


    Voici son implémentation :


    #import &quot;TagCloudNavigationController.h&quot;<br />#import &quot;NavigationViewController.h&quot;<br />#import &quot;MyTag.h&quot;<br /><br />@implementation TagCloudNavigationController<br />@synthesize myScrollView;<br />@synthesize currentId, currentElement, currentName, currentVignette, item, tagsList, myParser;<br /><br /><br />#pragma mark -<br />#pragma mark XML Parser Methods<br /><br />- (void)parseXMLFileAtURL:(NSString *)URL {<br />	<br />	<br />	//you must then convert the path to a proper NSURL or it won&#39;t work<br />	NSURL *xmlURL = [NSURL URLWithString:URL];<br />	<br />	// here, for some reason you have to use NSClassFromString when trying to alloc NSXMLParser, otherwise you will get an object not found error<br />	// this may be necessary only for the toolchain<br />	myParser = [[NSXMLParser alloc] initWithContentsOfURL:xmlURL];<br />	<br />	// Set self as the delegate of the parser so that it will receive the parser delegate methods callbacks.<br />	[myParser setDelegate:self];<br />	<br />	// Depending on the XML document you&#39;re parsing, you may want to enable these features of NSXMLParser.<br />	[myParser setShouldProcessNamespaces:YES];<br />	[myParser setShouldReportNamespacePrefixes:YES];<br />	[myParser setShouldResolveExternalEntities:YES];<br />	<br />	[myParser parse];<br />	<br />	[xmlURL release];<br />	<br />}<br /><br />- (void)parserDidStartDocument:(NSXMLParser *)parser {<br />	NSLog(@&quot;found file and started parsing&quot;);<br />}<br /><br />- (void)parser:(NSXMLParser *)parser parseErrorOccurred:(NSError *)parseError {<br />	NSString * errorString = [NSString stringWithFormat:@&quot;Unable to download story feed from web site (Error code %i )&quot;, [parseError code]];<br />	NSLog(@&quot;error parsing XML: %@&quot;, errorString);<br />	<br />	UIAlertView * errorAlert = [[UIAlertView alloc] initWithTitle:@&quot;Error loading content&quot; message:errorString delegate:self cancelButtonTitle:@&quot;OK&quot; otherButtonTitles:nil];<br />	[errorAlert show];<br />	[errorAlert release];<br />}<br /><br />- (void)parser:(NSXMLParser *)parser didStartElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName attributes:(NSDictionary *)attributeDict{<br />	NSLog(@&quot;found this element: %@&quot;, elementName);<br />	<br />	if ([elementName isEqualToString:@&quot;folder&quot;]) <br />	{<br />		tagsList = [[NSMutableArray alloc] init];<br />	}<br />	<br />	else if ([elementName isEqualToString:@&quot;tag&quot;]) <br />	{<br />		//on enregistre les différents attributs courants<br />		item = [[NSMutableDictionary alloc] init];<br />		currentName = [attributeDict objectForKey:@&quot;name&quot;];<br />		currentId = [attributeDict objectForKey:@&quot;id&quot;];<br />		currentVignette = [attributeDict objectForKey:@&quot;vignette&quot;];<br />	}<br />	<br />}<br /><br />- (void)parser:(NSXMLParser *)parser didEndElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName {<br />	<br />	NSLog(@&quot;ended element: %@&quot;, elementName);<br />	if ([elementName isEqualToString:@&quot;tag&quot;]) {<br />		// save values to an item, then store that item into the array...<br />		[item setObject:currentName forKey:@&quot;name&quot;];<br />		[item setObject:currentVignette forKey:@&quot;vignette&quot;];<br />		[item setObject:currentId forKey:@&quot;id&quot;];<br />		<br />		[tagsList addObject:[item copy]];<br />		[item release];<br />		item = nil;<br />	}<br />}<br /><br />- (void)parserDidEndDocument:(NSXMLParser *)parser&nbsp; {<br />	NSLog(@&quot;all done!&quot;);<br />	NSLog(@&quot;tagsList array has %d items&quot;, [tagsList count]);<br />}<br /><br />#pragma mark -<br />#pragma mark View Methods<br /><br />- (IBAction)switchViews:(id)sender {<br />	<br />	// Navigation logic may go here. Create and push another view controller.<br />	NavigationViewController *newViewController = [[NavigationViewController alloc] init];<br />	newViewController.tagTitle = @&quot;Surf&quot;;<br />	[self.navigationController pushViewController:newViewController animated:YES];<br />	<br />}<br /><br />// Implement viewDidLoad to do additional setup after loading the view, typically from a nib.<br />- (void)viewDidLoad {<br />	<br />	self.title = @&quot;QuikTV&quot;;<br />	CGFloat x = 85;<br />	CGFloat y = 170;<br />	int i,j;<br />	BOOL Down = NO;<br />	<br />	NSString * path = @&quot;http://qe08/xmls/tags.xml&quot;;		<br />	[self parseXMLFileAtURL:path];<br /><br />	<br />	j = [tagsList count];<br />	<br />	//init scrolling area<br />	int scrollHeight = (j / 2 + 1)&nbsp; * 125;<br />	myScrollView.contentSize = CGSizeMake(320, scrollHeight);<br />	myScrollView.bounces = YES;<br />	myScrollView.delaysContentTouches = NO;<br />	<br />	for (i = 1; i &lt;= j; i = i + 1)<br />	{<br />		MyTag *monTag = [[MyTag alloc] init];<br />		monTag.myName = [[tagsList objectAtIndex:i-1] objectForKey:@&quot;name&quot;];<br />		monTag.urlImage =[[tagsList objectAtIndex:i-1] objectForKey:@&quot;vignette&quot;];<br /><br />		monTag.x = x;<br />		monTag.y = y;<br />		<br />		if (Down == NO)<br />		{<br />			x += 150;<br />			Down = YES;<br />		}<br />		else<br />		{<br />			y += 100;<br />			x -= 150;<br />			Down = NO;<br />		}<br />		<br />		[myScrollView insertSubview:monTag.view atIndex:0];<br />	}<br />	[tagsList release];<br />	[myScrollView release];<br />&nbsp; &nbsp; [super viewDidLoad];<br />}<br /><br />
    


    Mon UIViewController pour chaque icone :

    #import &lt;UIKit/UIKit.h&gt;<br /><br /><br />@interface MyTag : UIViewController {<br />	<br />	NSString *myName;<br />	NSString *urlImage;<br />	IBOutlet UIImageView *myTagImage;<br />	IBOutlet UILabel *myTagName;<br />	CGFloat x;<br />	CGFloat y;<br /><br />}<br /><br />@property(nonatomic) CGFloat x;<br />@property(nonatomic) CGFloat y;<br />@property(nonatomic, retain) NSString *myName;<br />@property(nonatomic, retain) NSString *urlImage;<br />@property(nonatomic, retain) IBOutlet UIImageView *myTagImage;<br />@property(nonatomic, retain) IBOutlet UILabel *myTagName;<br /><br />@end<br />
    


    Et :

    #import &quot;MyTag.h&quot;<br />#import &quot;NavigationViewController.h&quot;<br />#import &quot;TagCloudNavigationController.h&quot;<br /><br />@implementation MyTag<br />@synthesize myTagName, myTagImage, urlImage, myName, x, y;<br /><br /><br /><br />// Implement viewDidLoad to do additional setup after loading the view, typically from a nib.<br />- (void)viewDidLoad {<br />	<br />	NSData *imageData = [[NSData alloc] initWithContentsOfURL:[NSURL URLWithString:urlImage]];<br />	UIImage *myCurrentImage = [[UIImage alloc] initWithData:imageData];<br />	myTagImage.image =&nbsp; myCurrentImage;<br />	myTagImage.contentMode = UIViewContentModeScaleAspectFit;<br />	myTagName.text = myName;<br />	myTagImage.userInteractionEnabled = YES;<br /><br />	CGPoint monCentre = CGPointMake(x, y);<br />	self.view.center = monCentre;<br />	<br />&nbsp; &nbsp; [super viewDidLoad];<br />}<br /><br /><br /><br />- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {<br />&nbsp; &nbsp; UITouch* touch = [touches anyObject];<br />&nbsp; &nbsp; if (touch.phase == UITouchPhaseBegan)<br />&nbsp; &nbsp; {<br />		/*TagCloudNavigationController *huh = [[TagCloudNavigationController alloc] init];<br />		[huh&nbsp; switchViews:self];<br />		 */<br />&nbsp; &nbsp; }&nbsp; &nbsp; <br />}<br /><br /><br />- (void)dealloc {<br />&nbsp; &nbsp; [super dealloc];<br />}<br /><br /><br />@end<br />
    


    J'espère que j'ai réussi à  être clair.

    Merci beaucoup de votre aide. ::)
  • allianallian Membre
    avril 2009 modifié #44
    personne n'a une idée ??
    svp

    edit: j'ai modifié le titre du sujet afin de coller d'avantage au sujet
  • allianallian Membre
    09:58 modifié #45
    j'y suis presque !!
    j'aurais juste besoin d'un dernier coup de pouce...

    voila maintenant je fait ça

    - (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {<br />		<br />	[self showCommit:self];<br />	<br />	// Navigation logic may go here. Create and push another view controller.<br />	NavigationViewController *newViewController = [[NavigationViewController alloc] initWithNibName:@&quot;NavigationViewController&quot; bundle:nil];<br />	newViewController.tagTitle = self.myName;<br />	<br />	TagCloudNavigationController *newTagCloudNavController = [[TagCloudNavigationController alloc] initWithNibName:@&quot;TagCloudNavigationController&quot; bundle:nil];<br />	if ([newTagCloudNavController monPapa:newTagCloudNavController] == nil)<br />	{<br />	NSLog(self.myName);}<br />	//[self.view.superview insertSubview:newViewController.view atIndex:0];<br />	//[self.view.superview removeFromSuperview];<br /><br />	[[newTagCloudNavController monPapa:newTagCloudNavController] pushViewController:newViewController animated:YES];<br /><br />	<br />}
    


    au touché de chacune de mes instances.
    la méthode monPapa me retourne normalement super.navigationController de mon TagCloudNavigationController, elle marche bien à  l'intérieur de celui ci car je l'utilise très bien mais dans ma classe MyTag après avoir déclaré un TagCloudNavigationController si j'appelle cette même méthode afin de récupéré le navigationController de son père, celle ci me retourne nil (c'est à  dire qu'elle n'en a pas trouvé), j'ignore le pourquoi.

    Quelqu'un pour eclairer ma lanterne, j'ai absolument besoin du navigationController du UINavigationController pere de tout ce foutoir afin d'y "pusher" une nouvelle vue.

    SVP à  l'aide cela fait deux jours que j'essaye sans résultats...
  • allianallian Membre
    09:58 modifié #46
    j'ai trouvé la solution, je sais pas si c'est la meilleure mais ça marche.

    En faite j'ai ajouté une propriété à  ma classe MyTag qui contient un UINavigationController, du coup au moment de la création de chacune de mes instances je lui passe mon super.navigationController de ma classe parente.

    Entre temps un mec sur un forum US m'a dit d'utiliser une ivar pour mon navigationController mais comme cela marche j'ai pas bataillé et puis j'ai pas trop compris comment utiliser ces fameuses ivar.

  • AliGatorAliGator Membre, Modérateur
    09:58 modifié #47
    Heu une propriété et une ivar c'est pareil, au final... Une propriété ce ne sont en général que des accesseurs... à  une variable d'instance, une ivar quoi... Limite d'ailleurs ton ivar tu l'as donc déjà  créée et en utilise déjà  le principe (apparemment sans le savoir ^^)

    Par contre passer ton UINavigationController complet à  ta classe n'est pas une bonne idée, car cela veut dire qu'il est retenu (retain) par ta classe... et donc ne pourra même pas être libéré de la mémoire, alors que l'un des intérêts des UINavigationController enfin des UIViewControllers en général c'est qu'ils gèrent tout seuls la mémoire, libérant de la mémoire en relâchant la vue par exemple si ton appli vient à  manquer d'espace... Et c'est un point auquel il faut quand même faire pas mal attention quand on programme sur un device embarqué comme l'iPhone, à  ne pas négliger.
    (Et si ta propriété n'est pas retain mais assign, bah rien ne te garantit le bon fonctionnement sur le même principe des cas de manque de mémoire)

    Ce qu'il faut ce n'est pas passer tout ton UINavigationController à  ta @property (à  ta ivar quoi) mais plutôt lui passer juste les infos qu'il te faut (quitte à  créer plusieurs @property et donc plusieurs ivar qui vont avec), par exemple le NSIndexPath de la sélection courante de ton UINavigationController, et/ou ton NSArray ou NSDictionary représentant tes données (ou ton sous-ensemble de données correspondant à  la partie que tu veux afficher)... bref juste ce dont tu as besoin, pas tout le gros mastodonte UINavigationController.
  • allianallian Membre
    09:58 modifié #48
    merci de ta réponse, je comprends ce que tu me dit mais je ne sais pas quoi lui passer si ce n'est tout mon contrôleur car dans mon cas j'ai besoin de lui car je l'utilise pour lui faire un pushViewController, du coup qu'est ce que je pourrais passer en property à  sa place ?

    n'y a t il pas une variable qui puisse m'y donner accès comme un pointeur en sorte ?
Connectez-vous ou Inscrivez-vous pour répondre.