I sorry for asking stupid question, Now I think I understand more about this MKTileOverlay.
-(void)loadTileAtPath:(MKTileOverlayPath)path result:(void (^)(NSData *, NSError *))result
{
NSData *tile = [self someHowGetTileImageIntoNSDataBaseOnPath:path];
if (tile) {
result(tile, nil);
} else {
NSHTTPURLResponse *response = nil;
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[self URLForTilePath:path]];
//Or you can using asynchronous request.
NSData *tileData = [NSURLConnection sendSynchronousRequest:request returningResponse:&response error:nil];
[self saveCachedWithData:tileData];
result(tileData, nil);
}
}
May be looking around for a day make me stun and cannot understand it's library, Sorry again and hope this may help someone who face same problem.