Here is the problem,
[self.device setValue:self.pictureData forKey:@"picture"];
UIImageView is a object not binary data, replace the following statement
[self.device setValue:UIImagePNGRepresentation(self.pictureData.image) forKey:@"picture"];
Edit:
To retrive,
[self.pictureData setImage:[UIImage imageWithData:[self.device valueForKey:@"picture"]]];