tumtumtum
BAN USERAssume that the phone number is supplied as a string (e.g. @"123")
+(NSArray*) phoneStrings:(NSString*)number
{
return [self phoneStrings:number andOffset:0];
}
+(NSArray*) phoneStrings:(NSString*)number andOffset:(int)offset
{
NSMutableArray* retval = [[NSMutableArray alloc] init];
int n = (int)[number characterAtIndex:offset] - '0';
NSArray* digits = [dict objectForKey:@(n)];
for (NSString* charString in digits)
{
NSString* head = charString;
if (number.length - offset > 1)
{
NSArray* tails = [self phoneStrings:number andOffset:offset + 1];
for (NSString* tail in tails)
{
NSString* s = [head stringByAppendingString:tail];
[retval addObject:s];
}
}
else
{
[retval addObject:head];
}
}
return retval;
}
Objective-C:
- tumtumtum May 11, 2014