我想将MainViewController
中的整数值传递给CollectionViewController
中嵌入的UINavigationViewController
。代码在MainViewController.m
方法中的prepareForSegue
文件中编写。我收到警告:
不兼容的指针类型初始化'
CollectionViewController
*'表达式为'UIViewController
* _Nullable'
警告用于代码:
UINavigationController *navController = (UINavigationController*)[segue destinationViewController];
CollectionViewController *collectionVC = [navController topViewController];
对于传递整数我正在使用:
[collectionVC setReceivedCategoryId:categoryIdToSend];
答案 0 :(得分:2)
UINavigationController
' topViewController
方法返回UIViewController
对象,如Apple documentation所示。
投射对象,它将工作。
UINavigationController *navController = (UINavigationController*)[segue destinationViewController];
// Add the explicit cast
CollectionViewController *collectionVC = (CollectionViewController*)[navController topViewController];
答案 1 :(得分:1)
[navController topViewController];
会返回UIViewController
个对象。但我们知道它是CollectionViewController
。所以我们添加一个类型转换,如下所示:
CollectionViewController *collectionVC =(CollectionViewController*) [navController topViewController];