Ausgabe
Hallo, ich versuche, eine Eigenschaft in Masterviewcontroller festzulegen, die zu einem anderen Viewcontroller gehört, aber sie tritt nicht in die Set-Methode ein. Ich habe dies mit dem Masterviewcontroller zum Detailviewcontroller gemacht und es funktioniert gut. Jetzt kopiere ich diesen Code und versuche, dasselbe mit masterviewcontroller auf einen Controller namens AddNoteViewController zu tun. gleichen Code, aber es wird nicht in die Set-Methode eintreten. Ich habe beide Klassen gleich importiert Vielen Dank für eure Hilfe!
beim Debuggen funktioniert das
Schritt 1 masterviewController.m
//MasterViewController.m
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
NSDate *object = _objects[indexPath.row];
NSDate *kundnr = _kundnr[indexPath.row];
self.detailViewController.detailItem = object;
self.detailViewController.detailIdentity = kundnr;
self.addNoteViewController.AddNoteFtgnr = kundnr;
}
Step2 DetailViewController.h
//DetailViewController.h
@property (strong, nonatomic) id detailItem;
@property (strong, nonatomic) id detailIdentity;
Schritt 3 DetailViewController.m
//DetailViewController.m
- (void)setDetailItem:(id)newDetailItem
{
if (_detailItem != newDetailItem) {
_detailItem = newDetailItem;
// Update the view.
[self configureView];
}
if (self.masterPopoverController != nil) {
[self.masterPopoverController dismissPopoverAnimated:YES];
}
}
- (void)setDetailIdentity:(id)newDetailItentity
{
if (_detailIdentity != newDetailItentity) {
_detailIdentity = newDetailItentity;
// Update the view.
[self configureView];
}
if (self.masterPopoverController != nil) {
[self.masterPopoverController dismissPopoverAnimated:YES];
}
}
Jetzt funktioniert der AddNoteviewController nicht
Schritt 1 masterviewController.m (das ist ok, denke ich)
//MasterViewController.m
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
NSDate *object = _objects[indexPath.row];
NSDate *kundnr = _kundnr[indexPath.row];
self.detailViewController.detailItem = object;
self.detailViewController.detailIdentity = kundnr;
self.addNoteViewController.AddNoteFtgnr = kundnr;
}
Schritt 2 AddNoteViewController.h (das ist ok, denke ich)
//AddNoteViewController.h
@interface AddNoteViewController : UIViewController
@property (strong, nonatomic) id AddNoteFtgnr;
@end
Schritt 3 AddNoteViewController.m (Hier liegt der Fehler darin, dass hier überhaupt nicht eingegriffen wird)
//AddNoteViewController.m
-(void)setAddNoteFtgnr:(id)AddNoteFtgnr
{
//Code that sets the property
}
Lösung
Ich habe mein Problem gelöst.
In MasterviewController muss ich den Viewcontroller initieren, der nicht passiert ist.
AddNoteViewController* addNoteViewController = [self.storyboard instantiateViewControllerWithIdentifier:@"addNoteViewController"];
addNoteViewController.addNoteFtgNr = kundnr;
Beantwortet von – Madde Persson
Antwort geprüft von – Robin (FixError Admin)