Sort NSMutableArray and Make NSMutableDictionary in iphone

S

//*******************Code*****************
.h
NSMutableArray *arrayForLetter;

//———————————-
.m
NSMutableArray *myArray = [[NSMutableArray alloc] init];
[myArray addObject:@”Z”];
[myArray addObject:@”y”];
[myArray addObject:@”X”];
[myArray addObject:@”Z”];
[myArray addObject:@”&A”];
[myArray addObject:@”C”];
[myArray addObject:@”#A”];
[myArray addObject:@”DA”];
[myArray addObject:@”^A”];
[myArray addObject:@”!E”];

NSLog(@”My Array : %@”,myArray);

NSArray *sortedArray = [myArray sortedArrayUsingSelector:@selector(localizedCaseInsensitiveCompare:)];
NSLog(@”Sorted Array : %@”,sortedArray);

NSMutableDictionary *arraysByLetter = [NSMutableDictionary dictionary];

for (NSString *value in sortedArray)
{
NSString *firstLetter = [value substringWithRange:NSMakeRange(0, 1)];

NSCharacterSet * set = [[NSCharacterSet characterSetWithCharactersInString:@”abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ”] invertedSet];

if ([firstLetter rangeOfCharacterFromSet:set].location != NSNotFound)
{
arrayForLetter = [arraysByLetter objectForKey:@”#”];
if (arrayForLetter == nil)
{
arrayForLetter = [NSMutableArray array];
[arraysByLetter setObject:arrayForLetter forKey:@”#”];
}
[arrayForLetter addObject:value];
}
else
{
[firstLetter uppercaseString];
arrayForLetter = [arraysByLetter objectForKey:firstLetter];
if (arrayForLetter == nil)
{
arrayForLetter = [NSMutableArray array];
[arraysByLetter setObject:arrayForLetter forKey:firstLetter];
}
[arrayForLetter addObject:value];
}
}

NSArray *array = [[arraysByLetter allKeys] sortedArrayUsingSelector:@selector(compare:)];

NSLog(@”Dictionary of Array : %@”,arraysByLetter);
NSLog(@”Keys of array : %@”,array);

//*************Out Put ********************

2012-06-06 13:15:42.196 DemoAppliction[4215:207] My Array : (
Z,
y,
X,
Z,
“&A”,
C,
“#A”,
DA,
“^A”,
“!E”
)
2012-06-06 13:15:44.250 DemoAppliction[4215:207] Sorted Array : (
“!E”,
“&A”,
“#A”,
“^A”,
C,
DA,
X,
y,
Z,
Z
)
2012-06-06 13:15:45.442 DemoAppliction[4215:207] Dictionary of Array : {
“#” = (
“!E”,
“&A”,
“#A”,
“^A”
);
C = (
C
);
D = (
DA
);
X = (
X
);
Z = (
Z,
Z
);
y = (
y
);
}
2012-06-06 13:15:45.443 DemoAppliction[4215:207] Keys of array : (
“#”,
C,
D,
X,
Z,
y
)

About the author

abdulgafar.nurbash
By abdulgafar.nurbash

Category