2012-03-18 4 views
0

私はコアデータにMPMediaItemPropertyPersistentIDを格納問題は抱えている:のパラメータに「* __強いのNSNumber」を送信し、変換を整数にコアデータのエンティティにMPMediaItemPropertyPersistentIDを保存する方法

互換性のないポインタ:私は次のエラーを取得しています'unsigned long long'と入力します。

は、私が64

事前のおかげ

-Paulsに整数として定義された私のコアデータモデル「profileItemsPersistentID」の属性を持っています。

NSNumber *selectedSongID; 


- (void) mediaPicker: (MPMediaPickerController *) mediaPicker didPickMediaItems: (MPMediaItemCollection *) mediaItemCollection { 

    [self dismissModalViewControllerAnimated: YES]; 

    selectedSong =   [[mediaItemCollection.items objectAtIndex: 0] valueForProperty:MPMediaItemPropertyTitle]; 
    selectedArtist =  [[mediaItemCollection.items objectAtIndex: 0] valueForProperty:MPMediaItemPropertyArtist]; 
    selectedSongDuration = [[mediaItemCollection.items objectAtIndex: 0] valueForProperty:MPMediaItemPropertyPlaybackDuration]; 

    //Incompatible pointer to integer conversion sending 'NSNumber *__strong' to parameter of type 'unsigned long long'; 
    selectedSongID =  [[mediaItemCollection.items objectAtIndex: 0] valueForProperty:MPMediaItemPropertyPersistentID]; 

    NSLog(@"selectedSongID: %@",selectedSongID); 
} 

- (IBAction)barButtonSave:(id)sender 
{ 

    [profileItemsClass setValue:selectedSong forKey:@"profileItemsSong"]; 
    [profileItemsClass setValue:selectedArtist forKey:@"profileItemsArtist"]; 
    [profileItemsClass setValue:[NSNumber numberWithInt:songLength] forKey:@"profileItemsSongDurationInSeconds"]; 
    [profileItemsClass setValue:[NSNumber numberWithUnsignedLongLong:selectedSongID] forKey:@"profileItemsPersistentID"]; 

    [profileItemsClass setValue:[NSNumber numberWithInt:numberOfRows + 1] forKey:@"profileItemsSongOrder"]; 



    NSError *error = nil; 
    NSManagedObjectContext *managedObjectContext = self.managedObjectContext; 
    if (managedObjectContext != nil) 
    { 
     if ([managedObjectContext hasChanges] && ![managedObjectContext save:&error]) 
     { 
      NSLog(@"Unresolved error %@, %@", error, [error userInfo]); 
      abort(); 
     } 
    } 

}  

答えて

1

ポール、

時々、エラーメッセージが間違っている正確に何を言います。あなたのコード:

selectedSongID = [[mediaItemCollection.items objectAtIndex: 0] valueForProperty:MPMediaItemPropertyPersistentID]; 

私は以下のコードをコンパイルしていませんが、それはあなたのエラーを解決します

selectedSongID = [[[mediaItemCollection.items objectAtIndex: 0] valueForProperty:MPMediaItemPropertyPersistentID] unsignedLongLongValue]; 

アンドリュー

+0

アンドリュー。応答していただきありがとうございます。上記の行に示されているエラーがなかったので、私は最後の夜遅く投稿したに違いありません。それはさらに下がった。 –

+0

問題を解決した場合は、この回答に同意してマークしてください。 – mk12

関連する問題