在swift中比较按钮内的字符串

时间:2015-08-01 01:00:55

标签: ios string swift

我在swift中为我的报价应用程序实现了一个收藏夹按钮。因为我想禁用用户能够两次收藏报价。 我必须将文本更改为不同,然后比较按钮文本模式与按钮文本模式不同。然后根据这些条件执行更多操作。它看起来像是:

@IBAction func favour(sender: AnyObject) {
        if liketext.text == "Like"{
            liketext.setTitle("Unlike", forState: UIControlState.Normal)
     makeQuoteFavourite()
        } else if liketext.text == "Unlike" {

            liketext.setTitle("Like", forState: UIControlState.Normal)

}
}

然而,正如你们许多人所知,按钮插座不能具有.text功能。 @IBOutlet var liketext: UIButton!我如何将按钮字符串与普通字符串进行比较?还有其他可能的解决方案吗?

1 个答案:

答案 0 :(得分:4)

UIButton的工作方式与UILabel不同。他们有一个控制状态。并且他们的(标题)文本可以在每个控制状态的基础上设置。

所以你必须使用currentTitle属性:

https://developer.apple.com/library/ios/documentation/UIKit/Reference/UIButton_Class/#//apple_ref/occ/instp/UIButton/currentTitle

titleForState方法:

https://developer.apple.com/library/ios/documentation/UIKit/Reference/UIButton_Class/#//apple_ref/occ/instm/UIButton/titleForState

现在这些标题普通String个对象;它是与众不同的财产的名称。