我对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函数。救命?像我这样的初学者的提示和教程的良好链接?
答案 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];