我想将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
答案 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时遇到问题。
很难说出发布的代码会发生什么。