在主应用程序屏幕上,我的//Append new user script to head
var goatPuzzleSetupCode= console.log("Script goatPuzzleSetupCode");
var genericSetupCode= console.log("Script genericSetupCode");
var userCode= console.log("Script userCode");
var resultToJSONCode= console.log("Script resultToJSONCode");
var userProg = document.createElement('script');
var script="//cdnjs.cloudflare.com/ajax/libs/less.js/1.3.3/less.min.js";
//userProg.addEventListener('load', test, false);
userProg.onload = function(script) {
console.log("Script loaded! 1"+script)
test();
};
userProg.src=script;
userProg.text = [goatPuzzleSetupCode, genericSetupCode, userCode, resultToJSONCode].join('\n')
document.head.appendChild(userProg);
var test = function() {
console.log("Script loaded! 2")
}
很小containerView
。我在主UILabel
上获得了UIButton
。我想通过单击UIViewController
中的按钮来更改属于label
类的containerView
的文本。
我尝试通过委派取得成功,但由于某种原因,我遇到了一个错误(展开可选)...
我尝试使用协议实现,ContView中的bud方法“ addText”不起作用((((((((>
UIViewController
///////////////////////////////////////////////// //////////////////////
class ViewController: UIViewController {
var delegate: DelegateProtocol?
override func viewDidLoad() {
super.viewDidLoad()
}
@IBAction func button(_ sender: Any) {
delegate?.addText(String2: "123")
}}
///////////////////////////////////////////////// /////////////////////
protocol DelegateProtocol {
func addText(String2: String)
}
答案 0 :(得分:0)
首先在您的视图控制器中创建一个全局变量
private var viewController: YourVC?
然后为您的容器视图提供一个标识符并进行跟踪
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
if segue.identifier == "yourviewcontroller Segue identifiew" { //your container view segue identifier
viewController = segue.destination as? SelectedImageVC
}
}
现在您可以viewController
来访问容器视图控制器中的标签了,例如
if let controller = viewController {
controller.yourlabel.text = "text you want"
}