1

別のコード セットで取得されているメタデータは、画面上の同じ文字列に「 - 」で区切られて表示されています。各情報セットを独自の行または文字列に取得するにはどうすればよいですか?

    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;
  }
}
4

1 に答える 1

0

msg を 1 つの文字列として保持する場合は、"-" を "\n" に置き換えるだけで、3 行に分割されます。

    NSString *s = @"Artist - Song - Album";
    NSString *newString = [s stringByReplacingOccurrencesOfString:@"-" withString:@"\n"];
    NSLog(@"%@",newString);
于 2013-02-14T17:23:55.983 に答える