2012-02-09 27 views
0

我试图在NSMutableArray中的物体传递到另一个视图的NSMutableArray的将数据传递给NSMutablearrays 2个viewControllers之间,IOS 4.3

我一直在找相关的问题,但不可能找出什么是错。

我认为正确的开关,但它不经过我的NSmutable数组对象

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

    StartHuntViewController *startHuntController = [[StartHuntViewController alloc] initWithNibName:@"StartHuntView" bundle:nil]; 
    startHuntController.modalTransitionStyle = UIModalTransitionStyleCrossDissolve; 
    [self presentModalViewController:startHuntController animated:YES];; 
    startHuntController.forStandButton = [stands objectAtIndex:indexPath.row];// doesnt work 
    // startHuntController.standLocation.text=[stands objectAtIndex:indexPath.row]; // this works 
    [startHuntController release]; 

    [self.mytableView reloadData]; 
} 

观点我试图通过数据

.h file 
@interface StartHuntViewController : UIViewController<UIApplicationDelegate,CLLocationManagerDelegate,CoreLocationControllerDelegate> { 


    NSMutableArray *forStandButton; 


} 
@property (nonatomic, assign)NSMutableArray *forStandButton; 
.m file 

@synthesize forStandButton; 

我应该怎么办?我想代码没有错?

回答

0

改变分配给保留,移动线startHuntController.forStandButton = [stands objectAtIndex:indexPath.row];

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

    StartHuntViewController *startHuntController = [[StartHuntViewController alloc] initWithNibName:@"StartHuntView" bundle:nil]; 
    startHuntController.forStandButton = [stands objectAtIndex:indexPath.row]; 
    startHuntController.modalTransitionStyle = UIModalTransitionStyleCrossDissolve; 
    [self presentModalViewController:startHuntController animated:YES]; 
    [startHuntController release]; 
    startHuntController =nil; 


} 
0

您需要在属性声明中使用retain。由于forStandButton是第二个视图的属性,因此您需要确保它已被设置。如果你为它创建了一个setter(setForStandButton),你可以在setter方法中放置一个断点。一旦你确认了设定者正在被呼叫,确保它被保留足够长时间以便有用。

+0

我改变它保留,并把一个断点线** startHuntController.forStandButton = [手段objectAtIndex:indexPath.row]; **在日志第一我看到** forStandButton \t的NSMutableArray \t为0x0 **然后当我开始编译它去@synthesize它变成** forStandButton \t NSCFString \t 0x4e73260 **和**值becomes_value \t NSCFString * \t 0x848de80 **那意味着它尝试通过它? – 2012-02-09 19:20:26

+0

我不知道你为什么被低估,但显然你看到的是在设置属性之前加载新视图的情况。我猜测你需要这个属性在视图完全建立之前被初始化。如果你完成在其视图控制器的viewDidLoad方法中设置你的第二个视图(这是正确的),情况就是这样。 – Jim 2012-02-09 20:24:58

2

有许多问题在这里,先来看看:

@property (nonatomic, assign)NSMutableArray *forStandButton; 

为何属性不挽留?

+0

我使用保留第一,然后我尝试使用分配,而不知道什么分配确切地做,但问题是我查看transion后传递所有我需要的数据是移动问题行两行 – 2012-02-09 19:41:51

相关问题