Получить изображение URL от MWPhoto? - PullRequest
0 голосов
/ 11 мая 2011

Я использую MWPhotoBrowser (здесь) и пытаюсь получить изображение, на котором вы сейчас находитесь.

Я пытаюсь это сделать:

MWPhoto *theObject = [photos objectAtIndex:currentPageIndex];
NSString *test = [theObject image];
NSLog(@"maybe? %@", test);

И я получаю это

maybe? <UIImage: 0x4e5e890>

Это хорошо все, но я хочу получить URL текущего изображения.

Любая помощь приветствуется,
Coulton

Ответы [ 2 ]

2 голосов
/ 11 мая 2011

в 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);

Чтобы использовать NSURL, проверьте http://developer.apple.com/library/mac/#documentation/Cocoa/Reference/Foundation/Classes/NSURL_Class/Reference/Reference.html

1 голос
/ 11 июля 2016

В случае, если есть другие люди, которые ищут решение, я надеюсь, что это поможет.

Я использую MWPhotoBrowser уже довольно давно.Ранее в их .h файле мы могли взять photoUrl.Теперь они переезжают в .m, и мы не можем получить доступ к этой собственности снаружи.

Поскольку я использую эту библиотеку из cocoapods, я также не хочу изменять их код.Итак, я создаю категорию, как это.Я назначу photoUrl отдельно в MWPhoto.

В 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.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...