2014-03-27 90 views
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到小區查看背景我可以看到,筆記數的計數實際上是工作,但沒有我選擇的文本和視圖顏色,所以最新的錯誤?我希望你能幫助我。

+0

你只是一個保存字符串('titulo')和你也只有在閱讀一個(下同),因此目前還不清楚你是什麼問題有。這種方式不起作用? –

+0

嗨,我也保存顏色轉換成一個NSData,問題是當我嘗試將CoreData信息加載到我的CollectionView它加載的細胞數量,但不是內容(查看背景顏色和標題標籤)。謝謝 –

回答