TableView IndexPath.row不可分配

时间:2013-03-11 21:10:35

标签: ios uitableview tableview

我想将tableView indexPath分配给一个视图控制器变量。然而,我很奇怪它分配了其中一个,无论我选择哪一行,它总是分配0。 正如您在下面的代码中看到的那样,iVC.virdsection = indexPath.row效果很好,但sVC2.evradID = indexPath.row总是为0。

//
//  TableViewController.h

#import <UIKit/UIKit.h>
#import "DetailViewController.h"
#import "SubViewController.h"

@interface TableeViewController : UITableViewController
@property (nonatomic,strong)NSArray *contentArray;
@property (strong,nonatomic)DetailViewController *detailViewController;
@property (strong,nonatomic)SubViewController *subViewController;
@end

//
//  TableViewController.m

#import "TableViewController.h"
#import "DetailViewController.h"
#import "SubViewController.h"

@interface TableViewController ()

@end

@implementation TableViewController
@synthesize contentArray;
@synthesize detailViewController;
@synthesize subViewController;
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{

    DetailViewController *iVC = [[DetailViewController alloc] initWithNibName:@"DetailViewController" bundle:[NSBundle mainBundle]];
    self.detailViewController = iVC;

    iVC.virdSection = indexPath.row;
    iVC.navigationItem.title=[NSString stringWithFormat:@"%d.Vird",indexPath.row+1];

   SubViewController *sVC2 = [[SubViewController alloc] initWithNibName:@"SubViewController" bundle:[NSBundle mainBundle]];
    self.subViewController = sVC2;
    sVC2.evradID=indexPath.row;
    [self.navigationController pushViewController:iVC animated:YES];
}


Here is my SubViewController.h
//  SubViewController.h


#import <UIKit/UIKit.h>

@interface SubViewController : UIViewController
@property (weak, nonatomic) IBOutlet UILabel *evradLabel;
-(void)evradCall;
@property int evradID;
@end

2 个答案:

答案 0 :(得分:1)

第0行是第一行。如果您记录indexPath.row,它可能会显示行的所有索引。 0在技术上是正确的。试试这段代码

NSUInteger row = 0;
NSUInteger sect = indexPath.section;
for (NSUInteger i = 0; i < sect; ++ i){
sVC2.evradID = i;
}

(我发现了here)

答案 1 :(得分:0)

愚蠢的问题,但我之前遇到过它,sVC2是否为零?您可能在实例化sVC2时遇到问题。

很难说出发布的代码会发生什么。