我正试图抓住点击索引值的行。
我将它推入下一个控制器,如此
-(void)collectionView:(UICollectionView *)collectionView didSelectItemAtIndexPath:(NSIndexPath *)indexPath{
nextView.count = [counts objectAtIndex:indexPath.row];
计数显示一个正确的4个整数值的数组,行显示正确的位置,但由于某种原因,nextView.count变成了一些奇怪的8位数,不知道为什么?
我在nextViewController中调用count,如下所示:
@interface nextViewController : UIViewController {
int count;
}
@property (nonatomic, assign) int count;
所以即计数看起来像[3,6,2,5],取决于该行可以看起来像0,1,2或3的索引,但接着是nextView.count = 3943493的结果
答案 0 :(得分:4)
目标-C集合(例如NSArray
)只能存储Objective-C 对象。
所以
[counts objectAtIndex:indexPath.row]
返回一个对象,可能是NSNumber
,但nextView.count
是一个(标量)整数。
你必须使用
nextView.count = [[counts objectAtIndex:indexPath.row] intValue];
(在您的情况下会发生的情况是,对象的地址被分配给整数。)