从程序上从另一个类调用函数时按钮不隐藏[Swift 3]

时间:2017-07-25 03:32:28

标签: swift user-interface button

所以我有一个带有按钮的视图控制器,如果所有三个文本字段都被填充,我只希望可见,在每个类中,发生了变化,我把:

class OmpLock
{
  public:
    OmpLock() { omp_init_lock(&lock_); }
    ~OmpLock() { omp_destroy_lock(&lock_); }

    void lock() { omp_set_lock(&lock_); }
    void unlock() { omp_unset_lock(&lock_); }
    int try_lock() { return omp_test_lock(&lock_); }

  private:
    omp_lock_t lock_;
};

然后功能是:

ViewController().checkDoneButton()

控制台打印“完成!”,但按钮不可见。但是如果我使用同一个View Controller中的按钮召唤checkDoneButton()函数,则会显示该按钮。如果有人可以帮助那将是非常棒的。 提前致谢

1 个答案:

答案 0 :(得分:2)

问题在于此。

SELECT COALESCE(nullif(a.LOT_ID,''), nullif(b.LOT_ID,''), nullif(c.LOT_ID,''), nullif(d.LOT_ID,'')) AS LotId,
       COALESCE(a.CheckIn, b.CheckIn, c.CheckIn, d.CheckIn) AS CheckIn,
       COALESCE(a.CheckOut, b.CheckOut, c.CheckOut, d.CheckOut) AS CheckOut,
       COALESCE(a.StatusDesc, b.StatusDesc, c.StatusDesc, d.StatusDesc) AS StatusDesc --missing alias name d  
FROM   LOT_LOC_BOND a
       INNER JOIN LOT_LOC_IEBT b
               ON a.LOT_ID = b.LOT_ID
       INNER JOIN LOT_LOC_MBT c
               ON a.LOT_ID = c.LOT_ID
       INNER JOIN LOT_LOC_SEAL d
               ON c.LOT_ID = d.LOT_ID 

ViewController().checkDoneButton() 创建ViewController()的新实例。您应该在显示的ViewController的同一实例上调用ViewController

您可以使用委托模式来克服此问题。这是一些教程。 Tutorial 1 Tutorial 2 Tutorial 3