我的应用程序有一个非常奇怪的问题。我在我的应用程序中使用AFNetworking框架。我正在加载一些带有图像的提要,并且onclick操作将打开一个具有详细描述和大图像的新视图。因此,我将IdPhoto发送到说明视图,但是当IdPhoto大于12时,则在内存中发送地址而不是IdPhoto值。

-(void)didSelectPhoto:(PhotoView*)sender {
    //photo selected - show it full screen
        [self performSegueWithIdentifier:@"ShowPhoto" sender:[NSNumber numberWithInt:sender.tag]];
    }

-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
    if ([@"ShowPhoto" compare: segue.identifier]==NSOrderedSame) {
        DescrController* streamPhotoScreen = segue.destinationViewController;
        streamPhotoScreen.IdPhoto = sender;
    }
}

PhotoView代码的一部分
-(id)initWithIndex:(int)i andData:(NSDictionary*)data {
    self = [super init];
    if (self !=nil) {
        //initialize
        self.tag = [[data objectForKey:@"IdPhoto"] intValue];

所以我不明白为什么当值大于12时它不将IdPhoto发送到另一个视图

最佳答案

  • 您是否将属性streamPhotoScreen.IdPhoto设置为STRONG?并确保这不是IBOutlet。
  • 如果1没问题,可以在您的prepareForSegue中添加一个断点:检查发件人是否真的在等待...
  • 关于ios - prepareForSegue不发送正确的参数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22506537/

    10-14 16:58