I can see two problems with the code you pasted in.
Your model is good, but it is a model for one item - ie. it's the model you are going to use to load a single image - not all the images at once. Therefore you need a model to describe that you have a collection of images, and another model (the one you have) to describe each of the image objects.
The second problem is that one of your properties is a UIImage object, but you're passing string in your JSON feed.
Therefore to have your example working you need:
#import "JSONModel.h"
//define the single image object protocol
@protocol ImageModel @end
//define the single image model
@interface ImageModel : JSONModel
@property int id;
@property (strong, nonatomic) NSString* name;
@property (strong, nonatomic) NSString* img;
@property (strong, nonatomic) NSString* note;
@end
@implementation ImageModel
@end
//define the top-level model for the collection of images
@interface Images : JSONModel
@property (strong, nonatomic) NSArray<ImageModel>* images;
@end
And then read your JSON string and create an Images model:
NSError* err = nil;
Images* imagesCollection = [[Images alloc] initWithString:JSONstring error:&err];
Then each of the elements in imagesCollection.images will be an ImageModel instance.
Voila!