2013-06-05 59 views
0

我正在创建一个具有主详细视图概念的iPad应用程序(iOS6.1)。第一个视图是一个表视图,其中包含从Plist中加载的项目列表,当每个行被选中时,第二个表视图被另一个Plist加载。他们是我的细节视图,它必须用UILabel和UIImage显示UIView。我正在使用didSelectRowAtIndexPath方法。前两个表视图是正确显示和加载该行并显示相应的视图,但是这是应该显示的UILabel最后的细节视图和图像是空的,任何一个可以帮助我解决这个问题xCode详细视图为空

My application flow

我的代码为didSelectRowAtIndexPath方法是

-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath 

{ 

TaskDetailViewController *newTaskDetailViewController = [[TaskDetailViewController alloc] init]; 

// pass the row to newDetailViewController 

if (weekNumber == 0) 
{ 
    newTaskDetailViewController.taskdescription = [weeklist1 objectAtIndex:indexPath.row]; 

} 
if (weekNumber == 1) 
{ 
    newTaskDetailViewController.taskdescription = [weeklist2 objectAtIndex:indexPath.row]; 

} 

if (weekNumber == 2) 
{ 
    newTaskDetailViewController.taskdescription = [weeklist3 objectAtIndex:indexPath.row]; 

} 
// ...... repeated for 39 times because of the list 


newTaskDetailViewController.taskNumber = indexPath.row; 
[self.navigationController pushViewController:newTaskDetailViewController animated:YES]; 
} 

的DetailView头

#import <UIKit/UIKit.h> 

@interface TaskDetailViewController : UIViewController 

@property int taskNumber; 

@property(strong , nonatomic) NSString *taskdescription; 

@property (nonatomic , strong) NSMutableDictionary * tasks; 

@property (strong, nonatomic) IBOutlet UIImageView *questionImage; 

@property (strong, nonatomic) IBOutlet UILabel *displayText; 

@end 

Implemetation文件有

@implementation TaskDetailViewController 

@synthesize taskNumber; 

@synthesize taskdescription; 

@synthesize tasks; 

@synthesize displayText; 

@synthesize questionImage; 


-(void)viewDidLoad 

{ 

[super viewDidLoad]; 

// Do any additional setup after loading the view. 

self.title = taskdescription; 

NSLog(@"%@", taskdescription); 

} 
+1

没有看到的那样选择行的代码或SEGUE代码取决于你是否使用xib或storyboard,回答你的问题几乎是不可能的。 –

+0

这是我正在使用的代码 –

+0

语法错误之前第三'if' - >删除'}' –

回答

0

你的问题是使用的alloc init以建立TaskDetailViewController的一个实例。你已经创建了一个故事板是控制器,所以你应该从故事板使用你给它一个标识符(DetailViewController在我的例子)实例吧:

TaskDetailViewController *newTaskDetailViewController = [self.storyboard instantiateViewControllerWithIdentifier:@"DetailViewController"]; 
+0

我得到以下错误应用程序试图推动目标上的无视图控制器。 –

+0

@LoreliaNithianandan您是否在故事板中添加了标识符,并确保其与代码中的代码拼写相同? – rdelmar

+0

是的,我有segue识别 –