私のシングルトンは次のようになります。
ヘッダ
#import <Foundation/Foundation.h>
@interface MyManager : NSObject
{
MyManager *_sharedObject;
}
@property(nonatomic,copy) NSString * nameTitle;
@property(nonatomic,copy) NSString * nameDescription;
//assets
@property (nonatomic, strong) NSMutableArray * assets;
+ (id)sharedInstance;
@end
実装
#import "MyManager.h"
@implementation MyManager
@synthesize listingTitle;
@synthesize listingDescription;
//Assets
@synthesize assets;
+ (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
いつでもプロパティを初期化およびリセットできるようにするメソッドをさらに 2 つ追加してください。初期化に init メソッドを使用し、リセットする別のメソッドを追加することも考えていました。これは正しいアプローチでしょうか?
このようなもの:
-(id)init {
self = [super init];
if (self != nil) {
[self reset];
}
return self;
}
-(void)reset {
self.listingTitle=@"";
self.listingDescription=@"";
}
これは正しい方法でしょうか?ありがとう