2012-05-09 1 views
0

私は拡張UITableViewである "EasyTableView"を使用します。私は以下のような問題が発生します。EasyTableViewデリゲートメソッドで変数にアクセスできません

- (void)viewDidLoad 
    { 
     NSArray *array = [[NSArray alloc] initWithObjects:@"14.jpg",nil]; 
     photos = array; 
     [array release]; 
     [photos objectAtIndex:0]; //this "photos" can be access 
    } 

しかし、私は、デリゲートメソッドで「写真」にアクセスしようとすると:

- (void)easyTableView:(EasyTableView *)easyTableView setDataForView:(UIView *)view forIndexPath:(NSIndexPath *)indexPath { 

    NSInteger r = [indexPath row]; // r = 0 
    NSString *imagePath = [photos objectAtIndex:r]; //this line cause : reason: '-[CALayer objectAtIndex:]: unrecognized selector sent to instance 

    } 

はなぜ結果が異なっている写真にアクセスするために?どうすれば修正できますか?

@property (nonatomic, retain) NSMutableArray* photos; 

などと実装

@synthesize photos = photos; 

でプロパティとして

+0

情報が不十分です。どこで写真が定義され、どのように定義しましたか? –

+0

'写真 'はどのように定義されていますか?オブジェクトを正しく保持するために 'self.photos = array'を使う必要があるようです。 – trojanfoe

答えて

0

使用写真は、それが今

0

photos変数は、あなたがそれに割り当て、配列を保持されていないデリゲートでアクセスできるようになります。割り当てが解除されると、メモリはCALayerオブジェクトをポイントするために再利用されます。写真が保持されているプロパティの場合は、self.photos = array;を使用して割り当てを行う必要があります。単純な変数の場合は、arrayの代わりに直接割り当てます。

関連する問題