0

このメソッドの後で、あるナビゲーション埋め込みビューコントローラーから別のビューコントローラーにnsmutablearrayを送信しようとしています。

- (void)mapView:(MKMapView *)mapView annotationView:(MKAnnotationView *)view calloutAccessoryControlTapped:(UIControl *)control{NSLog(@"tapped %@ %d",view.annotation.title,[res count]);
    gpDetailViewController *gpDetailView = [[gpDetailViewController alloc] init];
    gpDetailView.title = @"Details";
    gpDetailView.detailArray = res;
         [self.navigationController pushViewController:gpDetailView animated:YES];



} 

実行されます。gpDetailViewControllerのインターフェースと実装ファイルは次のとおりです。

//
//  gpDetailViewController.h
//  livewell prototype
//
//  Created by MyOxygen Mobile on 02/05/2012.
//  Copyright (c) 2012 __MyCompanyName__. All rights reserved.
//

#import <UIKit/UIKit.h>

@interface gpDetailViewController : UIViewController{
    NSMutableArray *detailArray;
}
@property (nonatomic,retain) NSMutableArray *detailArray;


@end

およびgpDetailViewController.m

//
//  gpDetailViewController.m
//  livewell prototype
//
//  Created by MyOxygen Mobile on 02/05/2012.
//  Copyright (c) 2012 __MyCompanyName__. All rights reserved.
//

#import "gpDetailViewController.h"

@interface gpDetailViewController ()

@end

@implementation gpDetailViewController
@synthesize detailArray;

- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
    self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
    if (self) {
        // Custom initialization
    }
    return self;
}

- (void)viewDidLoad
{
    [super viewDidLoad];
    // Do any additional setup after loading the view.
    detailArray = [[NSMutableArray alloc]init];

    NSLog(@"%@",[self.detailArray count]);
}

- (void)viewDidUnload
{
    [super viewDidUnload];
    // Release any retained subviews of the main view.
}

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
    return (interfaceOrientation == UIInterfaceOrientationPortrait);
}

@end

配列要素のサイズを出力しようとすると、null値が返されます。理由は何でしょうか?

4

1 に答える 1

1

それ以外の

NSLog(@"%@",[self.detailArray count]);

これを試して

NSLog(@"%d",[self.detailArray count]);

countは整数であり、クラスではありません

于 2012-05-02T16:49:01.620 に答える