代码之家  ›  专栏  ›  技术社区  ›  ParisNakitaKejser

iPhone开发人员-需要我上次访问的视图的ID

  •  0
  • ParisNakitaKejser  · 技术社区  · 14 年前

    我需要构建一个代码来跟踪我在订单视图中使用的ID,但是现在我不能让它工作,有人能给我粘贴一个示例代码吗?

    我需要来自view1->view2的tagid,所以当我登录view2时,我可以获取有关它的信息并发送到用户屏幕。

    我在这里得到了一点帮助:0)

    1 回复  |  直到 14 年前
        1
  •  1
  •   Neal L    14 年前

    我认为您在这里所说的是,您正在应用程序中从一个uiview移动到另一个uiview,并且需要某种方式将变量从view1“传递”到view2。

    这是iPhone应用程序设计的常见用例,有几种方法。下面是我认为最简单的方法,它将适用于任何对象(整数、nsmanagedObjects,无论什么):在第二个视图中创建一个ivar,并将其设置为在使其可见之前要跟踪的值。

    在视图TwoController中设置此项,方法如下:

    ViewTwoController.h:
    ====================
    @interface ViewTwoController : UIViewController {
        NSUInteger *tagID;
    }
    @property (nonatomic, assign) NSUInteger *tagID;
    @end
    
    ViewTwoController.m
    ===================
    @synthesize tagID;
    

    所以在这一点上,你的viewTwoController对tagid有一个ivar。现在,我们从视图一开始要做的就是创建viewtwoController,为tagid赋值,然后显示第二个视图。这可以在按钮按下选择器中完成,也可以在uiTableView行中完成,例如:

    - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
        ViewTwoController *viewTwoController = [[ViewTwoController alloc] init];
        viewTwoController.tagID = self.tagID;  // !! Here is where you "pass" the value
        [self.navigationController pushViewController:viewTwoController animated:YES];
    }
    

    上面的代码是:(1)创建一个新的viewtwoController,(2)在viewtwoController中将tagid的值赋给tagid ivar,然后(3)将视图2呈现给用户。因此,在viewTwoController代码中,可以使用 self.tagID .

    希望这有帮助!