ios - Alertview when song is unavailable -


i have nice little query when user clicks "play button," title called , if song of title exists in itunes, song begins playing. i'm stuck because not sure how show alertview when song doesn't exist.

here's query:

- (void) querymusic { mpmediaquery *q = [[mpmediaquery alloc] init]; [q addfilterpredicate:[mpmediapropertypredicate predicatewithvalue:@"beyoncé"  forproperty:mpmediaitempropertyartist comparisontype:mpmediapredicatecomparisonequalto]];   [q addfilterpredicate:[mpmediapropertypredicate predicatewithvalue:_detailmodal[0]                                                          forproperty:mpmediaitempropertytitle comparisontype:mpmediapredicatecomparisonequalto]];    [q setgroupingtype:mpmediagroupingtitle];  self.player = [mpmusicplayercontroller applicationmusicplayer]; [self.player setrepeatmode:mpmusicrepeatmodeall]; [self.player setshufflemode:mpmusicshufflemodesongs]; [self.player setqueuewithquery: q];    [[nsnotificationcenter defaultcenter] addobserver:self                                              selector:@selector(handlestatechanged:)                                              name:mpmusicplayercontrollerplaybackstatedidchangenotification                                            object:nil];  [[nsnotificationcenter defaultcenter]  addobserver: self                                           selector: @selector (handle_playbackstatechanged:)                                               name:    mpmusicplayercontrollerplaybackstatedidchangenotification                                             object: self.player];  [self.player begingeneratingplaybacknotifications];  } 

with handle_playbackstatechanged being:

- (void) handle_playbackstatechanged: (id) notification {  mpmusicplaybackstate playbackstate = [self.player playbackstate];   if (playbackstate == mpmusicplaybackstatepaused) {      self.textlabel.text = @"play";     [playbutton settitle:@"stop" forstate:uicontrolstatenormal]; // set title      nslog (@"this paused");     self.playbarbutton.title = @"play";      self.playbutton = playbutton;       [self.playbutton settitlecolor:[uicolor redcolor] forstate:uicontrolstatenormal];     [playpausebutton setimage:[uiimage imagenamed:@"playbss.png"] forstate:uicontrolstatenormal];    } else if (playbackstate == mpmusicplaybackstateplaying) {      self.textlabel.text = @"pause";     [playbutton settitle:@"pause" forstate:uicontrolstatenormal];      self.playbutton = pausebutton;     [playpausebutton setimage:[uiimage imagenamed:@"pausesss@2x.png"] forstate:uicontrolstatenormal];      nslog (@"this playing");     } else if (playbackstate == mpmusicplaybackstatestopped) {      self.textlabel.text = @"play";     self.playbutton = playbutton;     [playpausebutton setimage:[uiimage imagenamed:@"playbss.png"] forstate:uicontrolstatenormal];       [self.player stop];  } } 

i have tried this:

mpmediaitem *nowplayingitem = self.player.nowplayingitem;

nsstring *title  = [nowplayingitem valueforproperty:mpmediaitempropertytitle];  if (title == (id)[nsnull null] || title.length == 0) {     uialertview *message = [[uialertview alloc] initwithtitle:@"hello world!"                                                      message:@"this first uialertview message."                                                     delegate:nil                                            cancelbuttontitle:@"ok"                                            otherbuttontitles:nil];      [message show];  } 

but doesn't work. help.

try

if( q.items.count < 1 )  {     [self showalert];     return; } 

before

[self.player setqueuewithquery: q]