首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >全局字符串函数

全局字符串函数
EN

Stack Overflow用户
提问于 2012-11-19 23:40:01
回答 3查看 61关注 0票数 0

我是Obj-c的新手,我正在尝试弄清楚如何使用全局函数。我正在做一个小项目,在这个项目中我和一个PHP对话,这会设置一个会话cookie,我已经找到了获取cookie数据的方法,现在我想通过创建一个获取最新Cookie值的NSString函数来让它更有效一点……我很困惑..。

我已经创建了一个Globals对象类"Globals.h“和"Globals.m”。

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

我现在所拥有的,Globals.h

代码语言:javascript
复制
#import <Foundation/Foundation.h>
@interface Globals : NSObject

-(NSString*)GlobalString;

@end

和Globals.m:

代码语言:javascript
复制
#import "Globals.h"
@implementation Globals
-(NSString *)Globalstring
{
    return @"This is a global string!";
}
@end

我知道我必须将Globals.h导入到我想要使用它的文件中,但是我看不到这个NSString函数。帮助?对于像我这样的初学者,有很好的技巧和教程链接吗?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-11-19 23:44:17

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

代码语言:javascript
复制
+(NSString*)GlobalString;

并使用它:

代码语言:javascript
复制
NSString *foobar = [NSString GlobalString];

还要注意的是,Objective-C方法通常是camelCase而不是CapsCase

票数 2
EN

Stack Overflow用户

发布于 2012-11-19 23:45:48

您需要声明一个全局变量实例,然后调用GlobalString:

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

票数 0
EN

Stack Overflow用户

发布于 2012-11-19 23:48:10

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

无论如何,您都可以将应用程序委托用作globlal的值和函数的容器。您可以随时通过以下方式访问您的委派

代码语言:javascript
复制
MyAppDelegate *myDelegate = (MyAppDelegate) [[UIApplication sharedApplication] delegate];

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

代码语言:javascript
复制
returnValue = [myDelegate myGlobalFunction:theParameter];
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13457123

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档