现在将歌曲插入UILabel

时间:2013-08-20 15:09:24

标签: ios

我在使用此代码时遇到问题:

MPMediaItem *song = [[MPMusicPlayerController iPodMusicPlayer] nowPlayingItem];
NSString *songTitle = [song valueForProperty:MPMediaItemPropertyTitle];
NSString *songArtist = [song valueForProperty:MPMediaItemPropertyArtist];
//UIImageView *artwork = [[UIImageView alloc] initWithImage:MPMediaItemPropertyArtwork];
self.titleLabel.text = self.songTitle;
self.artistLabel.text = self.songArtist;

它告诉我“找不到财产”?!

但在我的.h文件中,我有两个属性:

@property (nonatomic, retain) IBOutlet UILabel *titleLabel;
@property (nonatomic, retain) IBOutlet UILabel *artistLabel;

4 个答案:

答案 0 :(得分:3)

可能会抱怨你没有说self.songTitleself.songArtist属性。把它改成这个:

self.titleLabel.text = songTitle;
self.artistLabel.text = songArtist;

答案 1 :(得分:1)

如果您在主文件顶部执行@synthesize songTitle,则无需使用关键字self

答案 2 :(得分:0)

我认为是因为你没有定义songTitle和songArtist,试试这个:

self.titleLabel.text = songTitle;
self.artistLabel.text = songArtist;

答案 3 :(得分:0)

正如我所看到的,错误是说你没有为songTitle和songArtist定义属性。在您的代码中,两者都是局部变量,因此您无法通过“self”访问它们。以这种方式尝试:

MPMediaItem *song = [[MPMusicPlayerController iPodMusicPlayer] nowPlayingItem];
NSString *songTitle = [song valueForProperty:MPMediaItemPropertyTitle];
NSString *songArtist = [song valueForProperty:MPMediaItemPropertyArtist];

self.titleLabel.text = songTitle;
self.artistLabel.text = songArtist;