У меня проблемы с сохранением MPMediaItemPropertyPersistentID в моих основных данных: я получаю следующую ошибку:
Несовместимый указатель на целочисленное преобразование, отправляющий «NSNumber * __ strong» на параметр типа «unsigned long long»;
У меня есть атрибут в моей базовой модели данных "profileItemsPersistentID", определенный как Integer 64.
Заранее спасибо
-Pauls.
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();
}
}
}