当我点击一个文本字段时,我会打开一个带有名字列表的tableview。我使用segue导航到这个表视图。一旦从表视图中选择了一个元素,我就会使用callback在我的视图控制器中获取它。

这是prepareForSegue函数...

override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
   if segue.identifier == "seguedropdown2" {
         
        vc.datacallback = { (message) in
        
        if(message[2] as! Int == 8) {
           self.Smat_Receiver1 = "\(message[0])"
           self.receiver.receiverName1 = self.Smat_Receiver1 // Observer added here. But it's not called
        }
        
        if(message[2] as! Int == 9) {
           self.Smat_Receiver2 = "\(message[0])"
           self.receiver.receiverName2 = self.Smat_Receiver2 //Observer added here. But it's not called
        }

      }
    }
  }

这就是我如何设置我的观察者

var ob:NSKeyValueObservation!
let receiver = Receiver()

override func viewDidLoad() {
  super.viewDidLoad()

    ob = receiver.observe(\Receiver.receiverName1, options: .new) { person, change in
        print("Receiver 1 is now \(person.receiverName1)")
    }
    ob = receiver.observe(\Receiver.receiverName2, options: .new) { person, change in
        print("Receiver 2 is now \(person.receiverName2)")
    }

}

在其他地方,我像这样设置了Receiver ...

@objc class Receiver: NSObject {
    @objc dynamic var receiverName1 = String()
    @objc dynamic var receiverName2 = String()
}

我的问题是,只要我设置了一个新值,观察者就不会被调用。

转载请注明出处:http://www.syyashida.com/article/20230330/2179195.html

随机推荐

  1. 在django中无法在浏览器中显示日期时间字段表单的问题

    什么是我在浏览器中看不到输入datetime form.form django?我在浏览器中运行的程序显示了以下代码,而不是输入的日期时间我带了所有页面的代码,请查收感谢您的回复forms.pyfrom django import form...

  2. 在服务中调用promise后,无法在控制器中获取值

    我有一个在服务中调用函数的控制器。这反过来调用同一服务中的promise函数。问题是我不能在我的控制器中获得返回值。控制器: function mainFunctionInControlelr() { so...

  3. 在用js创建文本框后无法在文本框中写入

    嗨,我做了一个类似于表格的东西,我需要它作为我的矩阵,但是在创建列之后,我发现我不能在它们里面写东西?function create(param) { var i, target = document.getElementById...

  4. 在第二次请求后,无法在发送到客户端后设置标头

    我使用socket.io-client和express制作了一个web服务器作为客户端(因为我必须在其他项目中使用此表单)。它发出字符串posted,并且当从io服务器接收到boom‘发出时,它通过发送所服务的字符串来响应。第一次发送hea...

  5. 在Cpanel中部署后,无法在django中发送电子邮件

    我只是在Cpanel中部署了一个Django web应用。但是SMTP电子邮件在Cpanel中不起作用。它只能在我的本地机器上工作。我对Cpanel了解不多。下面是我的setting.py代码:EMAIL_BACKEND = django....

  6. 在使用‘`mix deps.get`’安装后,无法在elixir shell中运行函数

    我正在尝试按照自述文件中的说明使用hex安装mint。然而,当我尝试执行示例代码时,我得到了一个错误:9afa01708fef# iex Erlang/OTP 22 [erts-10.5] [source] [64-bit] [smp:...

  7. 在编译android地图之前,无法再编译

    我遇到了一个非常罕见的问题。一切都很完美,突然之间我就不能再编译com.google.maps.android:android-maps-utils:0.5.+‘了。我无法找到修复它的方法,所以我将Android Studio更新到版本3....

  8. 在golang服务器中设置cookie后,无法在chrome chrome应用程序cookie中看到cookie。

    这是我的golang服务器的简化版本。package main import ( fmt net/http log time ) func sayhelloName(w http.ResponseWrit...

  9. 在ipad上,Videojs无法在暂停和淡出后播放

    我有一个带视频播放器的页面。 div id=modal-bg div id=video-exit/div div class=video-box-wr video id=model_vid class=vide...

  10. 在Heroku上部署时,无法在React应用程序中加载图像

    我是一个新的React开发人员,试图在Heroku上部署我的第一个React应用程序。所有图像都可以在本地正常加载,但在Heroku上部署时不再加载。这是我的网站的链接:https://yom-recipes.herokuapp.com/每...