gpt4 book ai didi

swift - Iboutlets 无法在 block swift 内工作

转载 作者:行者123 更新时间:2023-11-30 10:13:59 25 4
gpt4 key购买 nike

我正在从服务器获取请求并尝试在 tablview 中显示它。在此过程中,我想在获取记录后隐藏微调器。问题是:任何与 block 内的 self 相关的内容都不起作用。

@IBOutlet weak var spinner: UIActivityIndicatorView!
@IBOutlet weak var customTableview: CustomTableView!
var widgetArray :NSMutableArray = []
override func viewDidLoad() {
super.viewDidLoad()

print(DataObjects.sharedInstance.mainArray)
let appDelegate = UIApplication.sharedApplication().delegate as! AppDelegate

spinner.hidden = false
spinner.startAnimating()

CustomNetworkHit.networkHitForUrl("http://winjitwinds.cloudapp.net/windapi/windapiservice.svc/getcategorydatapagewise?categoryid=1944&pageno=1", completion: {(arrayResult) -> Void in

// spinner does not stop animating and it does not hide

self.spinner.stopAnimating()
self.spinner.hidden = true
print("Disable the spinner man")
DataObjects.sharedInstance.mainArray.addObjectsFromArray(arrayResult as [AnyObject])
self.widgetArray.addObjectsFromArray(arrayResult as [AnyObject])
self.customTableview.setUpTableView(self.widgetArray)

// UItableview Does not reload Data.

self.customTableview.reloadData()


})

最佳答案

请具体说明“不起作用”的含义。如果没有的话,很难确定,但我猜你正在尝试在后台线程上执行 UI 工作( block 不在主线程上运行)。

在您的街区内尝试以下操作:

dispatch_async(dispatch_get_main_queue(), ^(){
// UI CODE GOES HERE
});

在 swift :

dispatch_async(dispatch_get_main_queue()) {
// UI CODE GOES HERE
}

关于swift - Iboutlets 无法在 block swift 内工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31289366/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com