[英]Global NSMutableString
我有一個選項卡式視圖,在這里我需要從不同的選項卡式視圖中選擇各種選項,這些選項卡應附加在同一字符串中。 為此,我想使用NSMutableString。
選擇所有選項並根據需要形成字符串之后。 我想在下一個沒有標簽的視圖中訪問此NSMutableString。 我認為為此,我需要將NSMutableString聲明為全局變量?
有人可以幫我嗎 我是Objective-C和Xcode的新手。 謝謝。 任何幫助深表感謝!
可能還有其他幾個。
您可以為此使用NSUserDefaults:
保存:(在上一個視圖類中加載下一個視圖之前調用)
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
[defaults setObject:yourString forKey:@"KEYNAMEHERE"];
[defaults synchronize];
檢索 (在下一個視圖的類中加載下一個視圖時調用)
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
NSMutableString *string = [defaults objectForKey:@"KEYNAMEHERE"];
另一種選擇是擁有一個單例對象,如果您擁有多個不想要共享的變量,則特別有用。
這是有關正確處理單例的好帖子: http : //lukeredpath.co.uk/blog/a-note-on-objective-c-singletons.html
基本上,您將編寫一個非常簡單的類,例如:
State.h:
@interface State : NSObject
@property (atomic, strong) NSMutableString *mystring;
+ (id)sharedInstance;
@end
State.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
我個人發現此模式非常有用。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.