0
我開始在iPhone編程和我自己做我的第一個CoreData應用程序,在數據Im存儲是一種顏色,和兩個字符串,但現在我只讀一個字符串和顏色,但這是行不通的,繼承人我的代碼所以你可以幫助我,謝謝。我的CoreData存儲不起作用?
用於保存信息方法:
+(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到小區查看背景我可以看到,筆記數的計數實際上是工作,但沒有我選擇的文本和視圖顏色,所以最新的錯誤?我希望你能幫助我。
你只是一個保存字符串('titulo')和你也只有在閱讀一個(下同),因此目前還不清楚你是什麼問題有。這種方式不起作用? –
嗨,我也保存顏色轉換成一個NSData,問題是當我嘗試將CoreData信息加載到我的CollectionView它加載的細胞數量,但不是內容(查看背景顏色和標題標籤)。謝謝 –