Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/116.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 无法将元数据分隔为不同的字符串_Iphone_Ios_Metadata_Audio Streaming - Fatal编程技术网

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是否包含艺术家-标题-专辑?看起来你只是在分离前两个。