代码之家  ›  专栏  ›  技术社区  ›  Pugalmuni Tom Tharakan

Objective-C:如何访问作为全局变量的字符串变量?

  •  1
  • Pugalmuni Tom Tharakan  · 技术社区  · 15 年前

    我是iPhone开发的新手。我要访问所有类方法中的字符串变量,并且要全局访问该字符串。我该怎么做?

    请帮帮我。

    4 回复  |  直到 14 年前
        1
  •  1
  •   Warrior    15 年前

    您可以通过在委托类中实现getter和setter来实现这一点。

    在delegate.h文件中

    包括UIApplication委托

     @interface DevAppDelegate : NSObject <UIApplicationDelegate>
    
      NSString * currentTitle;
    
     - (void) setCurrentTitle:(NSString *) currentTitle;
     - (NSString *) getCurrentTitle; 
    

    在委托实现类.m中

     -(void) setCurrentLink:(NSString *) storydata{
    currentLink = storydata;
    
    }
    
    -(NSString *) getCurrentLink{
    if ( currentLink == nil ) {
        currentLink = @"Display StoryLink";
    }
    return currentLink;
    }
    

    因此,要评估的变量是由setters方法和需要字符串的类在currentlink字符串中设置的,只需使用getter方法。

    万事如意

        2
  •  15
  •   Steve Madsen    15 年前

    抛开全局变量的问题,如果它们是好的编码实践…

    在a中的任何objective-c类之外创建字符串 .m 项目中的文件:

    NSString *myGlobalString = @"foo";
    

    然后将声明放在一个头文件中,该头文件包含在所有其他要访问字符串的文件中:

    extern NSString *myGlobalString;
    

    好吧,我不能把它完全放在一边。您是否考虑将“全局”字符串放在其他地方,或者放在应用程序委托中作为(可能是只读的)属性?

        3
  •  2
  •   TechZen    15 年前

    创建全局变量的首选方法是:

    1. 创建一个存储 作为属性的变量。
    2. 创建一个类,该类具有返回变量的类方法。 将类接口放入 通用头,所有类 项目继承它。

    方法(2)的最大优点是它是封装的和可移植的。需要在另一个项目中使用全局的类吗?只需移动带有变量的类。

        4
  •  0
  •   Jeffrey Berthiaume    14 年前

    我发表了一篇关于我的方法论的文章:

    http://www.pushplay.net/2011/02/quick-tip-global-defines/

    这是我主要用于通知密钥的内容。创建一个globals.h文件并将其添加到(您的项目名称)prefix.pch文件将确保它可以全局访问…