2
我是一个新手,试图将从视图控制器1中的表中选择的行号传递给第二个视图控制器。在两个表视图控制器之间传递数字对象:IOS
我试图用这个属性声明为VC1数量,做到了:
@property (nonatomic, retain) NSNumber *passedSectorNumber;
它,然后在VC1 @synthesized并与VC1的didSelectRowAtIndexPath方法相应的行数设置这样的:
self.passedSectorNumber = [NSNumber numberWithInt:[indexPath row]];
VC2 *vc2 = [[SectorEditor alloc] initWithNibName:@"vc2nibname" bundle:nil];
[self.navigationController pushViewController:vc2 animated:YES];
[vc2 release];
在VC2中,我还定义了一个名称相同的NSNumber属性,并对其进行了合并。
在VC2也:
@property (nonatomic, retain) NSNumber *passedSectorNumber;
I测试在VC 2传递的值从而:
NSInteger intvalue = [self.passedSectorNumber integerValue];
NSLog(@"The value of the integer is: %i", intvalue);
数在VC2 “接收到的” 总是 '0',而不管是哪个的行是选择。
我正在发生菜鸟错误。任何想法在哪里?非常感谢输入。
在'didSelectRowAtIndexPath'你需要做:'vc2.passedSectorNumber = [NSNumber numberWithInt:indexPath.row];'在alloc-init'vc2'后。为此,您需要在VC2中声明属性'passedSectorNumber'。你不需要在VC1中声明一个属性'passedSectorNumber'。 – albertamg 2012-01-06 12:56:59
你有'vc2.passedSectorNumber = self.passedSectorNumber'? – 2012-01-06 13:02:12
>> albertamg,谢谢,那非常好。非常感激。 – 2012-01-06 13:47:34