2012-02-09 33 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

相關問題