Я занимаюсь частью магазина для приложения iOS, у которого есть две страницы (первая страница для показа списка голосовой почты в магазине и вторая страница для показа мелодии голоса в голосовой папке) ,Как загрузить данные из url содержит json fileurl цель C
при нажатии на любую ячейку в голосовой папкеList перейти на следующую страницу и на следующей странице существует одна кнопка с именем: ЗАГРУЗИТЬ, что я хочу, когда я нажимаю на эту кнопку, голос загружается и сохраняется в папке с документами. это код, который я сделал внутри кнопки нажимается обработка:
- (void)downloadingVoice {
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
NSLog(@"Starting Download ...");
NSString *downloadUrl = @"10.3.1.228:9000/files";
NSURL *url = [NSURL URLWithString:downloadUrl];
NSData *urlData = [NSData dataWithContentsOfURL:url];
if (urlData) {
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *voiceDirectory = [paths objectAtIndex:0];
NSString *voicePaths = [NSString stringWithFormat:@"%@%@", voiceDirectory,@"voice.mp3"];
dispatch_async(dispatch_get_main_queue(), ^{
[urlData writeToFile:voicePaths atomically:YES];
NSLog(@"Saved voice files");
});
}
});
}
- (void)btnDownloadClicked:(id)sender {
NSLog(@"Downloading Voice . . .");
[self downloadingVoice];
}
и вот как я поставил кнопку ниже списка голосов:
- (CGFloat)tableView:(UITableView *)tableView heightForFooterInSection:(NSInteger)section {
return 60.0f;
}
- (UIView *)tableView:(UITableView *)tableView viewForFooterInSection:(NSInteger)section {
// if(tableView == self.shopTableView) {
UIView *footerView = [[UIView alloc]initWithFrame:CGRectMake(0, 0, 320, 40)];
UIButton *download = [UIButton buttonWithType:UIButtonTypeCustom];
[download setTitle:@"Download" forState:UIControlStateNormal];
[download addTarget:self action:@selector(btnDownloadClicked:) forControlEvents:UIControlEventTouchUpInside];
[download setTitleColor:[UIColor blueColor] forState:UIControlStateNormal];
download.frame = CGRectMake(0, 0, 130, 30);
[footerView addSubview:download];
return footerView;
}
, когда я нажимаю на кнопку, и поставить некоторые точки останова , это конец после if (urlData)
когда я проверить urlData и downloadUrl, он говорит:
2015-09-17 10:53:01.926 Selfie[87197:674517] Starting Download ...
(lldb) po urlData
error: Couldn't materialize: couldn't get the value of variable urlData: no location, value may have been optimized out
Errored out in Execute, couldn't PrepareToExecuteJITExpression
(lldb) po downloadUrl
error: Couldn't materialize: couldn't get the value of variable downloadUrl: variable not available
Errored out in Execute, couldn't PrepareToExecuteJITExpression
кто-то пожалуйста, помогите мне решить эту проблему .. Я буду очень благодарю вас за час elp ..