diff --git a/libPhoneNumberShortNumber/NBShortNumberUtil.h b/libPhoneNumberShortNumber/NBShortNumberUtil.h index 121c6a7..8208b3d 100644 --- a/libPhoneNumberShortNumber/NBShortNumberUtil.h +++ b/libPhoneNumberShortNumber/NBShortNumberUtil.h @@ -25,8 +25,10 @@ typedef NS_ENUM(NSUInteger, NBEShortNumberCost) { @property(nonatomic) NSDictionary *> *countryToRegionCodeMap; -/// Initialize short number util with a default metadata helper. -- (instancetype)init; +/// Short number util singleton with a default metadata helper. ++ (NBShortNumberUtil *)sharedInstance; + +- (instancetype)init NS_UNAVAILABLE; /// Initialize short number util with a metadata helper. /// @param helper A metadata helper. diff --git a/libPhoneNumberShortNumber/NBShortNumberUtil.m b/libPhoneNumberShortNumber/NBShortNumberUtil.m index 270ab5b..33986a0 100644 --- a/libPhoneNumberShortNumber/NBShortNumberUtil.m +++ b/libPhoneNumberShortNumber/NBShortNumberUtil.m @@ -25,6 +25,17 @@ @implementation NBShortNumberUtil { NBPhoneNumberUtil *_phoneUtil; } ++ (NBShortNumberUtil *)sharedInstance { + static NBShortNumberUtil *sharedOnceInstance = nil; + static dispatch_once_t onceToken; + dispatch_once(&onceToken, ^{ + sharedOnceInstance = + [[self alloc] initWithMetadataHelper:[[NBShortNumberMetadataHelper alloc] init] + phoneNumberUtil:[NBPhoneNumberUtil sharedInstance]]; + }); + return sharedOnceInstance; +} + - (instancetype)initWithMetadataHelper:(NBShortNumberMetadataHelper *)helper phoneNumberUtil:(NBPhoneNumberUtil *)phoneNumberUtil { self = [super init]; @@ -36,11 +47,6 @@ - (instancetype)initWithMetadataHelper:(NBShortNumberMetadataHelper *)helper return self; } -- (instancetype)init { - return [self initWithMetadataHelper:[[NBShortNumberMetadataHelper alloc] init] - phoneNumberUtil:[NBPhoneNumberUtil sharedInstance]]; -} - - (BOOL)isPossibleShortNumber:(NBPhoneNumber *)phoneNumber forRegion:(NSString *)regionDialingFrom { if (![self doesPhoneNumber:phoneNumber matchesRegion:regionDialingFrom]) { return NO; diff --git a/libPhoneNumberShortNumber/README.md b/libPhoneNumberShortNumber/README.md index 01ee934..39308a1 100644 --- a/libPhoneNumberShortNumber/README.md +++ b/libPhoneNumberShortNumber/README.md @@ -46,7 +46,7 @@ import libPhoneNumberShortNumber ## Usage - **NBShortNumberUtil** ```obj-c -NBShortNumberUtil *shortNumberUtil = [[NBShortNumberUtil alloc] init]; +NBShortNumberUtil *shortNumberUtil = [NBShortNumberUtil sharedInstance]; // possibleNumber : +33123456 NSLog(@"Is possible short number: %d",