簡體   English   中英

UIBarButton 不在代碼段之前顯示,但在代碼段之后顯示

[英]UIBarButton doesn't show before section of code but shows after

super.viewDidLoad()

let urlString: String
if navigationController?.tabBarItem.tag == 0 {
    urlString = "https://api.whitehouse.gov/v1/petitions.json?limit=100"
} else {
    urlString = "https://api.whitehouse.gov/v1/petitions.json?signatureCountFloor=10000&limit=100"
}

if let url = URL(string: urlString) {
    if let data = try? Data(contentsOf: url) {
        parse(json: data)
        return
    }
}

navigationItem.rightBarButtonItem = UIBarButtonItem(barButtonSystemItem: .action, target: self, action: #selector(actionButton))

如果我在代碼部分(如上)之后創建rightBarButton ,則條形按鈕不會顯示。 但是,如果我在代碼之前創建rightBarButton ,則會出現rightBarButton 我有一個嵌入在導航控制器和標簽欄控制器中的tableViewController 為什么在代碼之后制作按鈕不顯示按鈕?

刪除return關鍵字, return不會執行更多的代碼行。 請參考與 swift return功能混淆的答案。

你的代碼應該是

super.viewDidLoad()
let urlString: String = (navigationController?.tabBarItem.tag == 0) ? "https://api.whitehouse.gov/v1/petitions.json?limit=100" : "https://api.whitehouse.gov/v1/petitions.json?signatureCountFloor=10000&limit=100"


if let url = URL(string: urlString) {
    if let data = try? Data(contentsOf: url) {
        parse(json: data)
    }
}
navigationItem.rightBarButtonItem = UIBarButtonItem(barButtonSystemItem: .action, target: self, action: #selector(actionButton)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM