我开始在iPhone编程和我自己制作我的第一个CoreData应用程序,在数据Im存储是一种颜色,两个字符串,但现在我只读一个字符串和颜色,但这是行不通的,继承人我的代码,所以你可以帮助我,谢谢。
保存信息的方法:
+(void)insertNewAccountCard:(NSString *) title
withcontent:(NSString *) content
withcolor:(NSData *) color{
[MagicalRecord saveUsingCurrentThreadContextWithBlock:^(NSManagedObjectContext *localContext) {
Note *note = [Note MR_createEntity];
note.titulo = title;
note.content = content;
note.color = color;
} completion:^(BOOL success, NSError *error) {
NSLog(@"Accounts:%d", [CoreDataBase numberofNotes]);
}];
}
+(NSInteger) numberofNotes{
return [Note MR_countOfEntities];
}
在我的实体类中(注意)color
显然是NSData。
然后我存储信息:
- (IBAction)DoneAction:(id)sender {
//[self dismissPopupViewControllerWithanimationType:MJPopupViewAnimationFade];
NSData *data = [NSKeyedArchiver archivedDataWithRootObject:color];
[CoreDataBase insertNewAccountCard:self.titleTextfield.text withcontent:nil withcolor:data];
}
- (IBAction)gray:(id)sender {
color = [UIColor grayColor];
NSLog(@"%@", color);
}
然后当我读到它时:
- (NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section{
return [CoreDataBase numberofNotes];
}
- (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath{
NotesCell *cell = [self.collectionView dequeueReusableCellWithReuseIdentifier:@"cell" forIndexPath:indexPath];
Note *notes = self.allNotes[indexPath.row];
UIColor *color = (UIColor *)[NSKeyedUnarchiver unarchiveObjectWithData:notes.color];
cell.noteView.backgroundColor = color;
cell.titleCellLabel.text = notes.titulo;
return cell;
}
因此集合视图看起来完全是空的,但是如果我将UIColor放到单元格视图背景中,我可以看到笔记数量的实际计数但没有我选择的文本和视图颜色,所以什么错了?我希望你能帮助我。
答案 0 :(得分:0)