2015-09-14 1 views
0

J'utilise « UIImage + ResizeMagick » (iOS api par un développeur pour redimensionner l'image écrite dans obj-c) dans mon projet rapide, mais face à des problèmes et obtenir l'erreur suivante:UIImage + ResizeMagick | NSInvalidArgumentException | iOS | Swift

en raison de l'application Mettre fin exception uncaught « NSInvalidArgumentException », raison: « - [UIImage resizedImageByMagick:]: sélecteur non reconnu envoyé à l'instance 0x7fe74c2065c0 »

Je sais que cette erreur se produit lorsque cette fonction n'existe pas dans cette catégorie particulière ou si on passe des paramètres incorrects tout en appelant la fonction mais je ne pense pas que ce soit le cas avec mon code (si je ne me trompe pas)

Cette classe est écrit comme: "UIImage (ResizeMagick)" et à ma connaissance c'est une catégorie pour que je puisse utiliser les méthodes avec chaque objet UIImage. Je l'ai importé dans ma classe #import « UIImage + ResizeMagick.h » et l'utiliser comme:

UIImage *image = [UIImage imageNamed:@"validate-icon-tick.png"]; 
image = [image resizedImageByMagick:@"200x200"]; 

J'utilise plusieurs bibliothèques dans mon projet qui sont écrits dans obj-c mais je utilise l'en-tête de pontage à cette fin. Peut-être le problème avec ResizeMagick est à cause des extensions vs les différences de catégories dans obj-c et swift. Veuillez me dire ce que je fais mal ou si c'est possible ou non. Merci.

+0

contrôle cliquez sur 'resizedImageByMagick 'et le voir il vous amène à l'interface du fichier catagory. vérifier et commenter plz –

+0

@Sehab Roy, Dans UIImage (ResizeMagick), La méthode de la décélération est: - (UIImage *) resizedImageByMagick: (NSString *) spec; –

+0

Donc, après que vous ayez cliqué sur le contrôle, vous êtes en train d'y naviguer. –

Répondre

0

Correction du problème d'utilisation de l'extension (cocopods) dans swift.

J'ai ajouté #import <UIImage-ResizeMagick/UIImage+ResizeMagick.h> dans mon en-tête de fichier. Dans le contrôleur i ai utilisé les méthodes de cette extension:

let image = oldImage.resizedImageByMagick("200x200")

Extensions vs Catégories (en-c objective et rapide) sont bien expliquées ici: stack overflow post link