全局字符串功能

时间:2012-11-19 15:40:01

标签: objective-c nsstring

我对Obj-c很陌生,我试图弄清楚如何使用全局功能。 我正在开发一个小项目,在那里我与PHP API交谈并设置会话cookie,我已经找到了如何获取cookie数据,现在我想通过制作NSString函数使其更有效一点得到最新的cookie值...我很困惑......

我创建了一个Globals对象类," Globals.h"和#34; Globals.m"。

如何声明一个函数然后从另一个文件访问它?

我现在拥有的,Globals.h

#import <Foundation/Foundation.h>
@interface Globals : NSObject

-(NSString*)GlobalString;

@end

和Globals.m:

#import "Globals.h"
@implementation Globals
-(NSString *)Globalstring
{
    return @"This is a global string!";
}
@end

我知道我必须在我想要使用它的文件中#import Globals.h,但是我无法看到这个NSString函数。救命?像我这样的初学者的提示和教程的良好链接?

3 个答案:

答案 0 :(得分:2)

在方法名称之前使用-使其成为实例方法。您可能需要一个类/静态方法,以便可以直接在NSString上调用它。改为使用+

+(NSString*)GlobalString;

使用它:

NSString *foobar = [NSString GlobalString];

另请注意,Objective-C方法通常为camelCase而非CapsCase

答案 1 :(得分:0)

您需要声明一个Globals实例,然后调用GlobalString:

您可以将GlobalString设为类方法+ (NSString *)GlobalString或在.c文件中声明C函数。

答案 2 :(得分:0)

您可以创建一个包含所有全局变量的全局变量对象。如果您这样做,请查看单例模式。通过这样做,如果将其设计为类方法而不是实例方法,则可以通过someString = [Globals globalString];获取globalString。

Hovever你可以使用你的应用程序委托作为globlal charachter的值和函数的容器。您可以通过

始终访问您的代理人
MyAppDelegate *myDelegate = (MyAppDelegate) [[UIApplication sharedApplication] delegate];

然后访问您的全局函数 - 现在是MyAppDelegate的一种方法:

returnValue = [myDelegate myGlobalFunction:theParameter];