如何获取上一个单元格的字符串?

时间:2015-09-20 23:28:42

标签: ios swift parse-platform

当我播放歌曲时,它会记录在我的应用中。歌曲标题,艺术家等列在单元格中。每次我去下一首歌时都会添加一个新单元格。目前在每个单元格中列出标题和艺术家以及按钮。每当我点击按钮时,我的程序将检查该歌曲是否在解析中,如果是,它将播放该文件。即如果选择了歌曲a,它将检查歌曲a是否在解析中,如果是,它将播放该文件,与歌曲b相同,但如果我返回并单击第一首歌曲的播放按钮则播放第二首歌曲。如何让每个单元格中的每个按钮播放该单元格中的相应歌曲?我知道问题是什么。每当我点击播放按钮时,它都会检索当前正在播放的歌曲的字符串,而不是x单元格的字符串。

func playit(sender: UIButton!){
if let nowPlaying = musicPlayer.nowPlayingItem{
let title = nowPlaying[MPMediaItemPropertyTitle] as? String
let artist = nowPlaying[MPMediaItemPropertyTitle] as? String

println(title! + artist!)


    let query = PFQuery(className: "Songs")
    query.whereKey("SongName", equalTo: title!)
    query.findObjectsInBackgroundWithBlock {
        (objects: [AnyObject]?, error: NSError?) -> Void in
        if error == nil {
            // The find succeeded.
            println("Successfully retrieved \(objects!.count) song(s).")
            // Do something with the found objects
            if let objects = objects as? [PFObject] {
                for object in objects {
                    println(object.objectId)
                    let playButtonrow = sender.tag
                    let object = object as PFObject
                    let parseAudio = object.valueForKey("SongFile") as! PFFile
                    let audioPath: String = parseAudio.url!
                    let urlParse: NSURL = NSURL(string: audioPath)!



                    player = AVPlayer(URL: urlParse)
                    println(player)
                    player.volume = 1.0
                    player.play()
                    if (player.rate > 0) && (player.error == nil) {
                        // player is playing
                        println("Playing")
                    } else {
                        println("Not Playing")
                    }
                }
            }
        } else {
            // Log details of the failure
            println("Error: \(error!) \(error!.userInfo!)")
        }

    }

}
}
 func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {

let cell: UITableViewCell = self.table.dequeueReusableCellWithIdentifier("cell") as! UITableViewCell
var play: Play


play = add[indexPath.row]
let playButton : UIButton = UIButton.buttonWithType(UIButtonType.Custom) as! UIButton
playButton.tag = indexPath.row
let imageret = "playbutton"
playButton.setImage(UIImage(named: imageret), forState: .Normal)
playButton.frame = CGRectMake(236, 20, 100, 100)
playButton.addTarget(self,action: "playit:", forControlEvents: UIControlEvents.TouchUpInside)

for view: UIView in cell.contentView.subviews as! Array<UIView> {
    view.removeFromSuperview()
}
cell.contentView.addSubview(playButton)

0 个答案:

没有答案