我有以下问题:我有一个带有UIScrollView和UICollectionView的ViewController。当我直接在这个视图控制器上启动应用程序时,一切正常。当我从另一个ViewController(这里是一个谷歌地图SDK地图)调用ViewController时,ViewController加载,但是当我尝试滚动时,我收到此消息,并且应用程序停止:
*** -[TheSecondViewController respondsToSelector:]: message sent to deallocated instance 0x16ef3890
以下是一些代码: 致电观点:
-(void)mapView:(GMSMapView *)mapView didTapInfoWindowOfMarker:(GMSMarker *)marker {
[self performSegueWithIdentifier:@"OpenSecondView" sender:self];
}
第二个视图中的viewDidLoad:
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view.
if (IS_IPHONE5) {
self.scrollV.frame = CGRectMake(0, 0, 320, 568);
NSLog(@"Das Geraet ist ein iPhone 5 / iPhone 5S");
} else {
self.scrollV.frame = CGRectMake(0, 0, 320, 480);
NSLog(@"Das Geraet ist ein iPhone 4 / iPhone 4S");
}
[self.view bringSubviewToFront:scrollV];
[scrollV setScrollEnabled:YES];
[scrollV setDelegate:self];
[scrollV setContentSize:CGSizeMake(320, 833)];
[collectionV setScrollEnabled:NO];
activityInd.activityIndicatorViewStyle = UIActivityIndicatorViewStyleWhite;
[activityInd startAnimating];
[imageView setUserInteractionEnabled:YES];
}
答案 0 :(得分:1)
知道你刚刚加载了第二个ViewController,看起来你的第二个ViewController没有正确分配(而不是被解除分配)。尝试使用在故事板中创建的segue并使用代码调用这些segue,和/或使用强而不是弱的引用来查看视图