2012-01-27 122 views
3

我使用核心數據創建了我的應用程序,聲明瞭2個屬性SongLyrics和MovieSongName,均爲字符串。然後在xib中,我爲MovieSongName創建了一個文本字段,併爲SongLyrics創建了一個文本視圖。爲了存儲這些,我使用了下面的代碼不可接受的屬性值屬性

-(void)saveData 
{ 
    LyricsAppDelegate *appDelegate = [[UIApplication sharedApplication] 
            delegate]; 

    NSManagedObjectContext *managedObjectContext = [appDelegate managedObjectContext]; 
    NSEntityDescription *entityDesc = [NSEntityDescription  
             entityForName:@"Lyrics"   
           inManagedObjectContext:managedObjectContext]; 
    NSManagedObject *LyricsObjectEnglish; 
    LyricsObjectEnglish = [NSEntityDescription  
          insertNewObjectForEntityForName:@"English_Songs" 
            inManagedObjectContext:managedObjectContext]; 
    [LyricsObjectEnglish setValue:song_lyrics.text forKey:@"SongLyrics"]; 
    [LyricsObjectEnglish setValue:song_name forKey:@"MovieSongName"]; 

    [email protected]""; 
    [email protected]""; 
    NSError *error; 
    [managedObjectContext save:&error]; 
} 

當點擊保存按鈕應用程序會中止以下錯誤。

2012-01-27 10:50:52.071歌詞[4624:207] *終止應用程序由於未捕獲的異常 'NSInvalidArgumentException',原因:「不可接受的類型爲屬性值:屬性= 「MovieSongName」 ;期望的類型= NSString;給定類型= UITextField;值=>。'

任何人都可以幫助我嗎?我第一次使用Core Data,而且我有點困惑。

回答

5

錯誤是告訴你到底是什麼問題。具體來說,MovieSongName需要NSString值,但是您要給它的值是UITextField,因爲您正試圖給它song_name而不是song_name.text

正確的代碼是:

[LyricsObjectEnglish setValue:song_name.text forKey:@"MovieSongName"]; 
+0

喔thanq它是這樣一個愚蠢的錯誤。非常感謝你 – priya 2012-01-27 05:56:25