1
在我的應用程序有2種獨立的方式來獲得相同的UIViewController中,在途中要經過2個父ViewControllers創建使用故事板被加載並這樣完美的作品只是路過並通過每個segue過渡身份證。相同的UIViewController從2個不同的來源,但有不同的結果
另一種方式(這是我需要幫助)直接壓在RootViewController的一個按鈕去,它也只是通過將ID customly定義的對象稱爲事件。對於每個轉換的代碼如下:
從SEGUE:
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
NSIndexPath *path = [self.tableView indexPathForSelectedRow];
Event *event = [nEventList objectAtIndex:path.row];
EventInfo *eventInfo = segue.destinationViewController; //Create new ViewController
eventInfo.eventID = event.id;
}
從按鈕:
- (void)FeaturedPressedAction:(id)sender
{
UIButton *button = (UIButton *)sender;
int tag = button.tag;
EventInfo *eventInfo = [[EventInfo alloc] init]; //Create new ViewController
eventInfo.eventID = @"1"; //There is an event with id '1'
[self.navigationController pushViewController:eventInfo animated:YES];
}
和碼來設置的ViewController:
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view from its nib.
UIImage *image = [UIImage imageNamed:@"title.png"];
self.navigationItem.titleView = [[UIImageView alloc] initWithImage:image];
SingletonClass* myapp = [SingletonClass sharedInstance];
events = [myapp getEvents];
// Loop to filter out the events that Do not have this ID
Event *event;
BOOL found = false;
for (int i = 0; i < [events count]; i++) {
if(!found){
event = [events objectAtIndex:i];
if([event.id isEqualToString: eventID]){
found = true;
NSLog(@"Found the event with title %@", event.title);
}
}
}
self.eventTitle.text = event.title;
self.eventLocation.text = event.location;
self.eventDate.text = event.date;
self.eventTime.text = @"22:00";
self.eventDescription.text = event.details;
}
它發現事件罰款,我可以用的NSLog的留在那裏,從按下按鈕來時正好沒有觀點負載見。我哪裏錯了?
太感謝你了,非常完美。 – SamRowley
很高興,你發佈了所有正確的代碼並且很好地解釋了這個問題 - 總是讓它更容易幫助! – ikuramedia