【问题标题】:xcode global variablesxcode 全局变量
【发布时间】:2010-01-04 02:34:26
【问题描述】:

如何从一个视图控制器获取 xcode 变量结果到另一个视图控制器,

实际上,在一个视图控制器中,我调用 Web 服务来获取声明为 NSString 的用户 ID,而在另一个视图控制器中,我想显示从前一个视图控制器中检索到的用户 ID,那么如何做到这一点

谢谢

【问题讨论】:

  • 我不太确定您是否掌握了基础知识。 XCode 是一个 IDE,非常类似于 Eclipse 和 Visual Studio。所以基本上,你想知道如何重用多个objective-c文件中的数据,对吧?
  • 是的,实际上我想在一个 viewconroller 中从 web 服务中检索数据作为 NSString 并将其显示为其他 viewcontroller 中的标签,我尝试使用 extern const NSString 但收到 EXC_BAD_ACCESS,你有任何想法
  • 如果没有看到代码,很难推测会发生什么......

标签: objective-c cocoa global-variables


【解决方案1】:

你有点困惑,从你的术语开始:

  • 语言是 Objective-C。
  • 框架是 Cocoa (Mac) 或 Cocoa Touch (iPhone)。
  • IDE 是 Xcode。

您真正想要做的是在您的应用程序中拥有一个公共数据模型,独立于应用程序中的视图。请参阅任何有关 Cocoa 和 Cocoa Touch 如何实现模型-视图-控制器模式的大量文档以了解如何执行此操作。

【讨论】:

    【解决方案2】:

    我认为对您的解决方案最简单的答案是在您希望将变量值传递给的视图控制器中创建一个实例变量,然后在您的初始视图控制器中初始化视图控制器,然后为其设置实例变量在将控制器推送到导航控制器堆栈之前。例如。

    
    - (void)buttonPressed:(id)sender
    
        DetailViewController *detailViewController = [[DetailViewController alloc] initWithNibName:@"DetailViewController" bundle:nil];
    
        detailViewController.userID = @"User's ID";
    
        [self.navigationController pushViewController:detailViewController animated:YES];
        [detailViewController release];
    }
    

    现在在您的 DetailViewController 实现中,您可以通过 self.userID 访问用户 ID

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-02-24
      • 1970-01-01
      • 2015-06-12
      • 2019-07-24
      • 2017-11-08
      • 1970-01-01
      • 1970-01-01
      • 2011-06-16
      相关资源
      最近更新 更多