2012-01-27 9 views
3

Core Dataを使用してアプリケーションを作成し、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の値が必要ですが、song_name.textではなくsong_nameにするため、値はUITextFieldです。

正しいコードは次のようになります。それは、このような愚かな間違いだった

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

おおthanq。どうもありがとうございました – priya

関連する問題