我正在努力开发下一个东西:
我想在单击“下一步”或“上一步”按钮时显示一个有组织的句子数组。我的意思是“标签”文本是开始,如果我们点击下一步按钮,模拟器会显示:“第一句”,“第二句”。。。。等。
但如果我们点击“上一步”按钮,它会开始把句子减少到上一步。
它不能正常工作,因为我开始点击next,一切看起来都很完美,但是我们点击previous,它会向上移动一个句子,再点击一个,然后返回到同一个句子,然后开始减少。
代码:

class DescubreAQue: NSObject {


    var frase : String


    init( frase :String) {


        self.frase = frase
    }



class AQueVinimosAEsteMundo: UIViewController {


var frase = ""

    var data : [DescubreAQue] = []


    var pounter : Int = 0


    @IBOutlet weak var labelTexto: UILabel!

    override func viewDidLoad() {
        super.viewDidLoad()

        populate()

    }

    func populate() {

        data.append(DescubreAQue (frase: "1"))

        data.append(DescubreAQue (frase: "2"))

        data.append(DescubreAQue (frase: "3"))

        data.append(DescubreAQue (frase: "4"))

        data.append(DescubreAQue (frase: "5"))

    }

    @IBAction func nextButton(sender: AnyObject) {

        labelTexto.text = data[pounter].frase

        pounter++

        if (pounter == data.count) {

            pounter = 0

        }
    }


    @IBAction func previousButton(sender: AnyObject) {

        labelTexto.text = data[pounter].frase

        pounter-- ;

        if ( pounter <= 0) {

            pounter = 0
        }

    }

最佳答案

这是因为您在递增/递减之前设置了labelTexto.text = data[pounter].frase。我敢打赌,如果在递减之后递增,它将首先显示上一个,然后开始递增。所以我要做的是把你的销售渠道改成这些:

@IBAction func nextButton(sender: AnyObject) {
    pounter++
    if (pounter == data.count) {
        pounter = 0
    }

    labelTexto.text = data[pounter].frase
}


@IBAction func previousButton(sender: AnyObject) {
    pounter-- ;
    if ( pounter <= 0) {
        pounter = 0
    }

    labelTexto.text = data[pounter].frase
}

你还应该启动pounterin-1。

关于ios - 使用下一个和上一个按钮在VC中显示排序的句子,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31248685/

10-11 22:02
查看更多