我正在使用MWPhotoBrowser (here),我正在尝试获取您当前所在的图像。
我试试这个:
MWPhoto *theObject = [photos objectAtIndex:currentPageIndex];
NSString *test = [theObject image];
NSLog(@"maybe? %@", test);
我得到了这个
maybe? <UIImage: 0x4e5e890>
这很好,但我想得到当前图片的网址。
任何帮助表示赞赏,
答案 0 :(得分:2)
在MWPhoto.h中添加:
- (NSURL *)url;
- (NSString *)path;
第45行
在MWPhoto.m中添加:
// Return URL
- (NSURL *)url { return self.photoURL; }
// Return Path
- (NSString *)path { return self.photoPath; }
第88行
您的代码在哪里,执行类似
的操作MWPhoto *theObject = [photos objectAtIndex:currentPageIndex];
NSString *path = [theObject path];
NSURL *url = [theObject url];
NSString *urlString = [url absoluteString];
NSLog(@"path %@", path);
NSLog(@"url %@", path);
答案 1 :(得分:0)
如果有其他人在寻找解决方案,我希望这个会有所帮助。
我已经使用MWPhotoBrowser很长时间了。以前,在他们的.h文件中,我们可以使用photoUrl。现在他们转移到.m,我们无法访问外面的财产。
由于我使用的是cocoapods中的库,我也不想修改他们的代码。所以,我创建了这样的类别。我将在MWPhoto中单独指定photoUrl。
在MWPhoto + Property.h中,
#import <MWPhotoBrowser/MWPhotoBrowser.h>
@interface MWPhoto (Property)
@property (nonatomic, strong) NSURL *photoUrl;
@end
在MWPhoto + Property.m中,
#import "MWPhoto+Property.h"
#import <objc/runtime.h>
@implementation MWPhoto (Property)
static char UIB_PROPERTY_PHOTOURL;
@dynamic photoUrl;
- (void)setPhotoUrl:(NSURL *)photoUrl {
objc_setAssociatedObject(self, &UIB_PROPERTY_PHOTOURL, photoUrl, OBJC_ASSOCIATION_RETAIN_NONATOMIC);
}
- (NSURL *)photoUrl {
return (NSURL *)objc_getAssociatedObject(self, &UIB_PROPERTY_PHOTOURL);
}
@end
然后,当我初始化MWPhoto时,我也放了photoUrl。
NSURL *photoUrl = [NSURL URLWithString:messageData.dataDict[@"image"]];
MWPhoto* photo = [MWPhoto photoWithURL:photoUrl];
photo.photoUrl = photoUrl; //Due to new implementation in MWPhotoBrowser, property of photoUrl is hidden. So, i put in category
[self.photos addObject: photo];
//Later, you can access photo.photoUrl in other places.