代码
因为是pointer类型 media.mp3只能拿到objectId其他拿不到 然后用getFileWithObjectId 方法 才能获得 完整的AVFile文件 这时才能去获得数据
但是离线情况下
[AVFile getFileWithObjectId:mp3Id withBlock:^(AVFile *file, NSError *error) {
这个方法不支持离线啊 还是不能处理
最开始 在后端配置中,我的mpe属性 就是AVFile类型 而不是 Pointer类型 这个问题就解决了。。但是感觉很危险很不好。。 应该是File单独上传文件。。 model需要用到File文件了,就关联一下。。
而不是 只能上传一次,那样model有变动,改动很大啊啊。。
感觉是leancloud设计上没考虑到,希望能得到解答。
这个暴露的问题 感觉到 pointer关系很弱 还不支持离线 不能很好地发挥作用。。 一些数据model的关联 不能使用 pointer指针了。 需要自己通过string类型的 id 来关联 但是一有问题改动很大,因为不能自动变更。
[[AVObjectManager shareInstance] requestMediaWithId:_media_id completion:^(NSArray *objects) {
_media = (TLAudioModel*)[objects firstObject];
NSString *mp3Id = _media.mp3.objectId;
[AVFile getFileWithObjectId:mp3Id withBlock:^(AVFile *file, NSError *error) {
[file getDataInBackgroundWithBlock:^(NSData *data, NSError *error) {
_mp3Data = data;
[self configPlay];
} progressBlock:^(NSInteger percentDone) {
NSLog(@"%ld",(long)percentDone);
if (percentDone != 100) {
[SVProgressHUD showProgress:percentDone/100.0 status:@"下载中"];
}else {
[SVProgressHUD dismiss];
}
}];
}];
-
创建时间
15年10月30日
-
最后回复
15年12月13日
-
2
回复
-
888
浏览
-
2
用户