function onCreated(tab) {
console.log(`Created new tab: ${tab.id}`)
window.close();
}
function onError(error) {
console.log(`Error: ${error}`);
window.close();
}
document.addEventListener("click", (e) => {
if (e.target.classList.contains("opennewtab")) {
browser.tabs.query({active: true, currentWindow: true}).then((tabs) => {
browser.tabs.create({
url:"https://stackoverflow.com/users/641534/antonchanning"
}).then(onCreated, onError);
});
}
});
会导致致命错误:在展开“可选值”时意外发现nil ,而在我的视图控制器中有一个带有标题字符串的后退按钮
如何获取后退按钮的标题字符串?
答案 0 :(得分:1)
当您引用self.navigationItem.backBarButtonItem
时,您应该知道,当self
不是topViewController
而是紧接在topViewController
之下时,这是将在导航栏中使用的条形按钮项{1}}。 self.navigationItem.backBarButtonItem
self
不是当topViewController
为self.navigationItem.backBarButtonItem
时当前可见的按钮,而是另一个视图控制器被推到其上时。{/ p>
你也应该知道:
当此属性为nil时,导航项使用其title属性中的值来创建适当的后退按钮。
意味着nil
可以是extension UINavigationController {
var backButtonText: String? {
guard let self.viewControllers.count > 1 else { return nil }
let viewController = self.viewControllers[self.viewControllers.count - 2]
return viewController.navigationItem.backBarButtonItem?.title ?? viewController.title
}
}
并且仍然拥有标题。见here
如果你想知道后退按钮使用了什么文字你可以说:
print(self.navigationController?.backButtonText ?? "No back button title")
可以这样称呼:
innerHTML