我在使用此代码时遇到问题:
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;
答案 0 :(得分:3)
可能会抱怨你没有说self.songTitle
和self.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;