【问题标题】:Passing a variable of NSInteger type to a UIPageViewController将 NSInteger 类型的变量传递给 UIPageViewController
【发布时间】:2013-10-23 08:12:24
【问题描述】:

我的应用的情节提要如下所示。

PageViewController 的数组中定义了一个网站列表。我现在要做的是让用户在MainViewController 的文本字段中键入索引号,当您点击按钮时,在页面视图控制器中,从数组中显示相应的网站。下面是我的代码(我知道这个应用程序有缺陷。这只是一个演示),

PageViewController.m

#import "MainViewController.h"
#import "PageViewController.h"

@interface MainViewController ()

@property (nonatomic, assign) NSInteger selectedIndex;

@end

@implementation MainViewController

- (IBAction)buttonPressed:(id)sender
{
    self.selectedIndex = [self.textField.text integerValue];
    [self performSegueWithIdentifier:@"ToNext" sender:nil];
}

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
    PageViewController *pageVC = [segue destinationViewController];
    pageVC.index = self.selectedIndex;
}

@end

selectedIndex 属性获取用户正确输入的数字。当它被传递到pageVC 时就会出现问题。

我在PageViewController 中有另一个名为NSInteger 的属性index,用于检索传入的值。问题是它总是显示 0。

谁能告诉我我在这里缺少什么?我真的很感激任何建议。

我还上传了一个项目来演示我的问题here,以防我的问题不太清楚。

【问题讨论】:

    标签: ios objective-c ios7 uipageviewcontroller nsinteger


    【解决方案1】:

    在您的代码中删除:

    - (void)awakeFromNib
    {
        [super awakeFromNib];
        [self createPages];
        self.dataSource = self;
    
        NSLog(@"Index = %lu", self.index);
        [self setViewControllers:[NSArray arrayWithObject:self.pages[self.index]] direction:UIPageViewControllerNavigationDirectionForward animated:true completion:nil];
    }
    

    并将其替换为:

    - (void)viewWillAppear:(BOOL)animated
    {
        [super viewWillAppear:animated];
    
        [self createPages];
        self.dataSource = self;
    
        NSLog(@"Index = %d", self.index);
        [self setViewControllers:[NSArray arrayWithObject:self.pages[self.index]] direction:UIPageViewControllerNavigationDirectionForward animated:true completion:nil];
    }
    

    【讨论】:

      猜你喜欢
      • 2019-10-31
      • 2017-04-15
      • 1970-01-01
      • 2014-04-03
      • 2023-03-08
      • 2022-01-23
      • 2016-09-09
      • 2011-06-20
      相关资源
      最近更新 更多