Xcode无法识别详细控制器中的@property
。
ViewController2的.m文件:
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
if ([[segue identifier] isEqualToString:@"showDetail"])
{
NSIndexPath *selectedIndexPath = [[self.collectionView indexPathsForSelectedItems] objectAtIndex:0];
// load the image.
NSString *imageNameToLoad = [NSString stringWithFormat:@"%d", selectedIndexPath.row];
NSString *pathToImage = [[NSBundle mainBundle] pathForResource:imageNameToLoad ofType:@"JPG"];
UIImage *image2 = [[UIImage alloc] initWithContentsOfFile:pathToImage];
Detail_ViewController_Biffy *detailViewController = [segue destinationViewController];
Detail_ViewController_Biffy.**image = image;** <--- fails [property 'image'not found on object of type 'detail_ViewController_Biffy'
}
}
.h文件详细信息
#import "ViewController.h"
@interface ViewController_Biffy : ViewController
@property (strong, nonatomic) IBOutlet UIImageView *image;
@end
尝试将导入ViewController.h
更改为ViewController_Biffy.h
,但会导致更多错误。
如果您需要更多信息,请与我们联系。
答案 0 :(得分:2)
您正在尝试从类而不是实例获取属性。尝试
Detail_ViewController_Biffy *detailViewController = [segue destinationViewController];
detailViewController.image = image
你所说的类型还有detail_ViewController2,它不在你的代码中的任何地方
答案 1 :(得分:1)
首先:image
是属性而非类方法,因此您需要访问它:
detailViewController.image =
其他image
中的prepareForSegue:sender:
不存在。我猜您正在尝试将您的属性设置为image2
,您可以创建几行。在这种情况下,失败的代码行看起来像:
detailViewController.image = image2;
通过类的实例访问所有属性。虽然您可能不知道它,但您已经在线上创建了一个detailViewController实例:
Detail_ViewController_Biffy *detailViewController = [segue destinationViewController];