从Xcode(iOS)中的TableView项目获取详细信息

时间:2014-08-25 05:05:54

标签: ios objective-c uitableview uikit

请遵循以下代码:

DetailsViewController.h

#import <UIKit/UIKit.h>

@interface DetailsViewController : UIViewController

@property (strong , nonatomic) IBOutlet UILabel *TitleLabel;
@property (strong , nonatomic) IBOutlet UILabel *DescriptionLabel;
@property (strong , nonatomic) IBOutlet UIImageView *ImageView;
@property (strong , nonatomic) NSArray *DetailModal;

@end

TableViewController.m

#import "DetailsViewController.h"

-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
 if ([[segue identifier] isEqualToString:@"ShowDetails"]) {

   DetailsViewController *detailsviewcontroller = [segue destinationViewController];
   NSIndexPath *myIndexPath = [self.tableView indexPathForSelectedRow];
   int row = [myIndexPath row];
   NSLog(@"Tanim = %i",row);
   detailsviewcontroller.DetailModal = @[_Title[row],_Description[row], _Images[row]];

}
}

我可以使用上面的代码并设置segue标识符&#34; ShowDetails&#34;从我的故事板,但不要转到detailsViewController窗口。任何人都可以帮助解决这个问题或建议我????

2 个答案:

答案 0 :(得分:1)

我看到了你的错误。您链接segue的Storyboard中的ViewController不是我假设的DetailViewController类。还要检查Segue名称是否为“ShowDetails”

答案 1 :(得分:0)

可能您的[segue destinationViewController]不是DetailsViewController。在该行之后添加断点,并查看destinationViewController的类型。它可以是UINavigationControllerUITabBarController。在这种情况下,从viewcontrollers数组中访问目标控制器。