0

ビューコントローラーを表示するアクションを持つビューコントローラーがあります

GoodNewsBodyViewController.h

@interface GoodNewsBodyViewController : UIViewController<EventListDelegate>

GoodNewsBodyViewController.m

-(IBAction)goToEvents:(id)sender {
                EventTableViewController* eventsController = [[EventTableViewController alloc] initWithNibName:@"EventTableViewController" bundle:nil];

        [eventsController setListOfEvents:goodNews.Events];
        //try both ways
        [eventsController setDelegate:self];
        eventsController.delegate = self;

        [self presentModalViewController:eventsController animated:YES];
    }
    - (void)loginFormDidFinish:(EventTableViewController*)loginForm {
        // do whatever, then
        // hide the modal view


        EventViewController *eventController = [[EventViewController alloc] initWithNibName:@"EventViewController" bundle:nil];
        [eventController setEvent:loginForm.event];
        [self.navigationController pushViewController:eventController animated:YES];
        // clean up
        [self dismissModalViewControllerAnimated:YES];
    }

EventTableViewController.h

@class EventTableViewController;

@protocol EventListDelegate
- (void)loginFormDidFinish:(EventTableViewController*)loginForm;
@end
@interface EventTableViewController : UIViewController <RKObjectLoaderDelegate, UITableViewDataSource, UITableViewDelegate> {
    id<EventListDelegate> delegate;
    NSArray* eventList;
    Organisation* organisation; 
    IBOutlet UITableView* _tableView; 
    NSMutableArray* listOfEvents;
    Event* event;

}
@property (strong) id<EventListDelegate> delegate;
@property (nonatomic, strong) IBOutlet UITableView* _tableView; 
@property (nonatomic, strong) NSArray* eventList;
@property (nonatomic, strong) Organisation* organisation; 
@property (nonatomic, strong) NSMutableArray* listOfEvents;
@property (nonatomic, strong) Event* event;

eventstableviewcontroller でイベントが選択されたときに、そのイベントをポストバックしたい。イベントを、eventstableviewcontrollerのdidselectメソッドで設定されるプロパティとして持つことで、それをやろうとしています。イベント リストが表示されており、イベントを選択すると、リストが消えます。これはすべて正しいですが、 - (void)loginFormDidFinish:(EventTableViewController*)loginForm;

イベントが発生していないようです。そこにブレークポイントを設定しましたが、ヒットすることはありません...どんな助けも大歓迎です!

4

1 に答える 1

0

あなたのloginFormDidFinish:方法はこのようにする必要があります

-

(void)loginFormDidFinish:(EventTableViewController*)loginForm {
        // hide the modal view
        [self dismissModalViewControllerAnimated:NO];//without animation


        EventViewController *eventController = [[EventViewController alloc] initWithNibName:@"EventViewController" bundle:nil];
        [eventController setEvent:loginForm.event];
        [self.navigationController pushViewController:eventController animated:YES];
        [eventController release];
        // clean up
}
于 2012-09-21T12:49:33.523 に答える