Bonjour,
J'ai crée une Master-Detail Application
j'ai crée une classe Tache avec un titre et une priorité. J'ajoute une tache à chaque fois que je clique sur le bouton +.
Je voudrais savoir comment je peux modifié le detail de l'objet pour avoir nomDeLaTache (priorité: valeurDeLaPriorite), j'ai mis dans la méthode - (void)insertNewObject
mais cela ne fonctionne pas
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 NSString * detaille = [[NSString alloc] initWithFormat:@"%@ (priorité:%d)",[uneTache titre],[uneTache priorite]]; self.detailViewController.detailItem = detaille ;
MasterViewController.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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115 // // MasterViewController.m // projetTableView // // Created by ket on 08/03/2015. // Copyright (c) 2015 ket. All rights reserved. // #import "MasterViewController.h" #import "DetailViewController.h" #import "Tache.h" @interface MasterViewController () @property NSMutableArray *objects; @end @implementation MasterViewController - (void)awakeFromNib { [super awakeFromNib]; if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPad) { self.clearsSelectionOnViewWillAppear = NO; self.preferredContentSize = CGSizeMake(320.0, 600.0); //self.title = NSLocalizedString(@"Master",@"Taches"); } } - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view, typically from a nib. self.navigationItem.leftBarButtonItem = self.editButtonItem; UIBarButtonItem *addButton = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemAdd target:self action:@selector(insertNewObject:)]; self.navigationItem.rightBarButtonItem = addButton; self.detailViewController = (DetailViewController *)[[self.splitViewController.viewControllers lastObject] topViewController]; self.navigationItem.title = @"Taches"; } - (void)didReceiveMemoryWarning { [super didReceiveMemoryWarning]; // Dispose of any resources that can be recreated. } - (void)insertNewObject:(id)sender { if (!self.objects) { self.objects = [[NSMutableArray alloc] init]; } Tache* uneTache = [[Tache alloc] initWithTitre:@"A faire" Andpriorite:0]; [self.objects insertObject:uneTache atIndex:0]; NSIndexPath *indexPath = [NSIndexPath indexPathForRow:0 inSection:0]; [self.tableView insertRowsAtIndexPaths:@[indexPath] withRowAnimation:UITableViewRowAnimationAutomatic]; NSString * detaille = [[NSString alloc] initWithFormat:@"%@ (priorité:%d)",[uneTache titre],[uneTache priorite]]; self.detailViewController.detailItem = detaille ; } #pragma mark - Segues - (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender { if ([[segue identifier] isEqualToString:@"showDetail"]) { NSIndexPath *indexPath = [self.tableView indexPathForSelectedRow]; NSString * object = self.objects[indexPath.row]; DetailViewController *controller = (DetailViewController *)[[segue destinationViewController] topViewController]; [controller setDetailItem:object]; controller.navigationItem.leftBarButtonItem = self.splitViewController.displayModeButtonItem; controller.navigationItem.leftItemsSupplementBackButton = YES; } } #pragma mark - Table View - (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView { return 1; } - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section { return self.objects.count; } - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"Cell" forIndexPath:indexPath]; NSDate *object = self.objects[indexPath.row]; cell.textLabel.text = [object description]; return cell; } - (BOOL)tableView:(UITableView *)tableView canEditRowAtIndexPath:(NSIndexPath *)indexPath { // Return NO if you do not want the specified item to be editable. return YES; } - (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath { if (editingStyle == UITableViewCellEditingStyleDelete) { [self.objects removeObjectAtIndex:indexPath.row]; [tableView deleteRowsAtIndexPaths:@[indexPath] withRowAnimation:UITableViewRowAnimationFade]; } else if (editingStyle == UITableViewCellEditingStyleInsert) { // Create a new instance of the appropriate class, insert it into the array, and add a new row to the table view. } } @end
Partager