我是Obj-c的新手,我正在尝试弄清楚如何使用全局函数。我正在做一个小项目,在这个项目中我和一个PHP对话,这会设置一个会话cookie,我已经找到了获取cookie数据的方法,现在我想通过创建一个获取最新Cookie值的NSString函数来让它更有效一点……我很困惑..。
我已经创建了一个Globals对象类"Globals.h“和"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我知道我必须将Globals.h导入到我想要使用它的文件中,但是我看不到这个NSString函数。帮助?对于像我这样的初学者,有很好的技巧和教程链接吗?
发布于 2012-11-19 23:44:17
在方法名之前使用-使其成为实例方法。您可能需要一个类/静态方法,以便可以在NSString上直接调用它。请改用+:
+(NSString*)GlobalString;并使用它:
NSString *foobar = [NSString GlobalString];还要注意的是,Objective-C方法通常是camelCase而不是CapsCase。
发布于 2012-11-19 23:45:48
您需要声明一个全局变量实例,然后调用GlobalString:
您可以使GlobalString成为类方法+ (NSString *)GlobalString或在.c文件中声明C函数。
发布于 2012-11-19 23:48:10
您可以创建一个包含所有全局变量的全局对象。如果你这样做了,看看单例模式。通过这样做,如果您将globalString设计为类方法而不是实例方法,则可以通过someString = [Globals globalString];获取它。
无论如何,您都可以将应用程序委托用作globlal的值和函数的容器。您可以随时通过以下方式访问您的委派
MyAppDelegate *myDelegate = (MyAppDelegate) [[UIApplication sharedApplication] delegate];然后访问您的全局函数-它现在是MyAppDelegate的一种方法:
returnValue = [myDelegate myGlobalFunction:theParameter];https://stackoverflow.com/questions/13457123
复制相似问题