请帮助:)
我已经设置了一个可变数组,如下所示
- (void)viewDidLoad {
[super viewDidLoad];
NSFetchRequest *request = [[NSFetchRequest alloc] init];
NSEntityDescription *entity = [NSEntityDescription entityForName:@"TopImage" inManagedObjectContext:managedObjectContext];
[request setEntity:entity];
NSSortDescriptor *sortDescriptor = [[NSSortDescriptor alloc] initWithKey:@"topImage" ascending:YES];
NSArray *sortDescriptors = [[NSArray alloc] initWithObjects:sortDescriptor, nil];
[request setSortDescriptors:sortDescriptors];
[sortDescriptor release];
[sortDescriptors release];
NSError *error = nil;
NSMutableArray *mutableFetchResultsT = [[managedObjectContext executeFetchRequest:request error:&error] mutableCopy];
if (mutableFetchResultsT == nil) {
}
[self setTopImageArray:mutableFetchResultsT];}
我试图使用以下方法填充UIImageView:
- (void)showPhoto:(NSInteger)numberToAdd
{
[topIV setImage:[topImageArray objectAtIndex:currentPI + numberToAdd]];
}
currentPI是一个整数,用于标记索引中的当前图像,并在此处设置要添加的数字:
- (IBAction)nextTouch
{
[self showPhoto:-1];
}
这将跳到下一张图片(感谢@XenElement获取此见解)。
根本没有图像加载到UIImageView中。
通过imagePickerController填充MutableArray。
以下是我的专用图像>数据数据>图像转换器类
@implementation Image2Data
+ (BOOL)allowsReverseTransformation {
return YES;
}
+ (Class)transformedValueClass {
return [NSData class];
}
- (id)transformedValue:(id)value {
return UIImagePNGRepresentation(value);
}
- (id)reverseTransformedValue:(id)value {
return [[[UIImage alloc] initWithData:value] autorelease];
}
@end
这是在我的托管对象类中初始化的:
+ (void)initialize {
if (self == [Images class]) {
Image2Data *transformer = [[Image2Data alloc] init];
[NSValueTransformer setValueTransformer:transformer forName:@"Image2Data"];
}
}
提前感谢您提出任何建议
DetartrateD
我原先说的是:
[topImageArray insertObject:imageS atIndex:0];
更正为:
[topImageArray insertObject:imageS.topImage atIndex:0];
:))))大笑,我指着我的实体而不是它的属性啊,好好吸取教训!
答案 0 :(得分:1)
您不太可能将图像存储为UIImage
对象。在存储之前,您必须将其转换为NSData
对象。在将UIImage
实例设置为initWithData:
之前,您必须使用UIImageView
将其转换回{{1}}对象。