Iphone 无法将元数据分隔为不同的字符串
在另一组代码中检索的元数据显示在屏幕上的同一字符串上,并用“-”分隔。如何将每一组信息放到它们自己的行或字符串中Iphone 无法将元数据分隔为不同的字符串,iphone,ios,metadata,audio-streaming,Iphone,Ios,Metadata,Audio Streaming,在另一组代码中检索的元数据显示在屏幕上的同一字符串上,并用“-”分隔。如何将每一组信息放到它们自己的行或字符串中 NSDictionary *currentlyPlayingTrackInfo; NSString *msg = albumInfo; NSString *newArtist; NSString *newSongName; NSRange range = [msg rangeOfString:@" - "]; if (range.l
NSDictionary *currentlyPlayingTrackInfo;
NSString *msg = albumInfo;
NSString *newArtist;
NSString *newSongName;
NSRange range = [msg rangeOfString:@" - "];
if (range.location != NSNotFound){
newArtist = [msg substringToIndex:range.location];
newSongName = [msg substringFromIndex:(range.location + range.length)];
}
if (newArtist != nil){
currentlyPlayingTrackInfo = [NSDictionary dictionaryWithObjects:[NSArray arrayWithObjects:newArtist, newSongName, pmAlbumArt, nil] forKeys:[NSArray arrayWithObjects:MPMediaItemPropertyArtist, MPMediaItemPropertyTitle, MPMediaItemPropertyArtwork, nil]];
}else{
currentlyPlayingTrackInfo = [NSDictionary dictionaryWithObjects:[NSArray arrayWithObjects:msg, pmAlbumArt, nil] forKeys:[NSArray arrayWithObjects:MPMediaItemPropertyTitle, MPMediaItemPropertyArtwork, nil]];
}
[MPNowPlayingInfoCenter defaultCenter].nowPlayingInfo = currentlyPlayingTrackInfo;
}
}
如果要将msg保留为一个字符串,只需将“-”替换为“\n”,即可将其分成3行
NSString *s = @"Artist - Song - Album";
NSString *newString = [s stringByReplacingOccurrencesOfString:@"-" withString:@"\n"];
NSLog(@"%@",newString);
你现在所拥有的有什么问题吗?它显示的是艺术家、标题和专辑。只是现在,当它们显示在一行上时,我更希望它们都显示在各自的行上,以使它们更具个性。不确定这是否有意义。我想这只是一个风格偏好:)你是如何显示它们的?看起来你把字符串分成了两个,好吧。现在字符串看起来像“艺术家-标题-专辑”,但需要的是“艺术家/艺术家/标题下的下一行/标题下的下一行/专辑”。如果你能理解的话。是的,我知道你想要什么。我不明白的是什么不起作用。上面的代码将字符串分为两个字符串,对吗?这样不行吗?msg是否包含艺术家-标题-专辑?看起来你只是在分离前两个。