1

アプリでシングルトンを使用しようとしています。シングルトンを使用して 8 つの文字列を共有したい。

これは私が参照したチュートリアルです - > http://www.galloway.me.uk/tutorials/singleton-classes/

私のコード: - MyManager.h

#import <foundation/Foundation.h>

@interface MyManager : NSObject {
NSString *someProperty1;
NSString *someProperty2;
NSString *someProperty3;
NSString *someProperty4;
NSString *someProperty5;
NSString *someProperty6;
NSString *someProperty7;
NSString *someProperty8;
}

@property (nonatomic, retain) NSString *someProperty1;
@property (nonatomic, retain) NSString *someProperty2;
@property (nonatomic, retain) NSString *someProperty3;
@property (nonatomic, retain) NSString *someProperty4;
@property (nonatomic, retain) NSString *someProperty5;
@property (nonatomic, retain) NSString *someProperty6;
@property (nonatomic, retain) NSString *someProperty7;
@property (nonatomic, retain) NSString *someProperty8;

+ (id)sharedManager;

@end

MyManager.m

#import "MyManager.h"

@implementation MyManager

@synthesize someProperty;

#pragma mark Singleton Methods

+ (id)sharedManager {
static MyManager *sharedMyManager = nil;
static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
    sharedMyManager = [[self alloc] init];
});
return sharedMyManager;
}

- (id)init {
  if (self = [super init]) {
someProperty1 = [[NSString alloc] initWithString:@"Default Property Value"];
someProperty2 = [[NSString alloc] initWithString:@"Default Property Value"];
someProperty3 = [[NSString alloc] initWithString:@"Default Property Value"];
someProperty4 = [[NSString alloc] initWithString:@"Default Property Value"];
someProperty5 = [[NSString alloc] initWithString:@"Default Property Value"];
someProperty6 = [[NSString alloc] initWithString:@"Default Property Value"];
someProperty7 = [[NSString alloc] initWithString:@"Default Property Value"];
someProperty8 = [[NSString alloc] initWithString:@"Default Property Value"];
  }
  return self;
}

- (void)dealloc {
// Should never be called, but just here for clarity really.
}

@end

このシングルトンを使用して、これらの文字列変数を使用して別のビューに文字列を追加し、それを使用して別の 3 番目のビューにデータベースに格納したいと考えています。

それらを参照してこれらの変数に文字列を保存し、3 番目の異なるビューでそれらに再度アクセスする方法を教えてください。

4

1 に答える 1

4
  1. シングルトンを使用する MyManager.h をインポートします。
  2. [[MyManager sharedManager] setSomeProperty1:@abc"]; //for setting
  3. [[MyManager sharedManager] someProperty1]; // for getting

または、このように使用することもできます

MyManager *manager = [MyManager sharedManager];
manager.someProperty1 = @"abc";
NSString *str = manager.someProperty1; 
于 2012-07-26T13:42:10.193 に答える