我有一个选项卡式视图,我需要从不同的选项卡式视图中选择不同的选项,这些选项卡式视图应该附加在相同的字符串中。为此,我想使用NSMutableString。
在选择了所有选项并根据需要形成字符串之后。我想在下一个未加标签的视图中访问此NSMutableString。我想我需要将NSMutableString声明为全局变量?
谁能帮帮我。我是objective-c和xcode的新手。谢谢。任何帮助都是非常感谢的!
发布于 2012-07-20 07:58:31
另一种选择是使用单例对象,如果您希望共享多个变量,则此方法特别有用。
这里有一篇关于如何正确处理单例的好帖子:http://lukeredpath.co.uk/blog/a-note-on-objective-c-singletons.html
基本上,您需要编写一个非常简单的类,例如:
State.h:
@interface State : NSObject
@property (atomic, strong) NSMutableString *mystring;
+ (id)sharedInstance;
@endState.m:
#import "State.h"
@implementation State
@synthesize mystring;
+ (id)sharedInstance
{
static dispatch_once_t pred = 0;
__strong static id _sharedObject = nil;
dispatch_once(&pred, ^{
_sharedObject = [[self alloc] init]; // or some other init method
});
return _sharedObject;
}
@end然后当你需要它的时候,你可以这样做:
import "State.h"
[State sharedInstance].mystring更简单的是,你可以从这里使用单例宏:https://gist.github.com/1057420#gistcomment-63896
我个人发现这个模式非常有用。
发布于 2012-07-20 08:01:42
可能还有其他几个。
发布于 2012-07-20 07:37:59
您可以使用NSUserDefaults来执行以下操作:
要保存的:(在上一个视图类中加载下一个视图之前调用)
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
[defaults setObject:yourString forKey:@"KEYNAMEHERE"];
[defaults synchronize];检索的(在下一个视图的类中加载下一个视图时调用)
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
NSMutableString *string = [defaults objectForKey:@"KEYNAMEHERE"];https://stackoverflow.com/questions/11570812
复制相似问题