1

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'
    }
}

detail_view 的 .h 文件

#import "ViewController.h"

@interface ViewController_Biffy : ViewController

@property (strong, nonatomic) IBOutlet UIImageView *image;

@end

试图将导入更改ViewController.hViewController_Biffy.h但导致更多错误。

如果您需要更多信息,请告诉我。

4

2 回答 2

2

您正在尝试从类而不是实例中获取属性。尝试

Detail_ViewController_Biffy *detailViewController = [segue destinationViewController];
detailViewController.image = image

此外,您所说的类型 detail_ViewController2 不在您的代码中的任何位置

于 2013-09-03T13:37:15.360 回答
1

首先:image是一个属性而不是一个类方法,所以你需要访问它:

detailViewController.image = 

其次image在你的prepareForSegue:sender:不存在。我猜您正在尝试设置您image2创建几行的属性。在这种情况下,失败的代码行如下所示:

detailViewController.image = image2;

所有属性都通过类的实例进行访问。尽管您可能不知道,但您已经在您的线路上创建了一个 detailViewController 实例:

Detail_ViewController_Biffy *detailViewController = [segue destinationViewController];
于 2013-09-03T13:37:48.900 回答