警告:value stored to value2 during its initialization is never read
NSMutableArray *datesArray = [[NSMutableArray alloc]init];
datesArray = [_onDemandDictionary objectForKey:key];
出现了stored to 'datesArray' during its initialization is never read改成NSMutableArray *datesArray = nil;
datesArray = [_onDemandDictionary objectForKey:key];
I would take this line out, You shouldn't need to initialize it.
//NSArray *myKeyArray = [[NSArray alloc]init];
Change this to
NSArray*myKeyArray;
You only need to allocate it if it is mutable.