ios – 完成处理程序在viewDidLoad中不工作?

ios – 完成处理程序在viewDidLoad中不工作?,第1张

概述我正在使用这个 library在我的应用程序的横幅.我正在尝试通过解析JSON来获取链接. 图像在幻灯片视图中未显示.如果我按幻灯片视图,之后一切正常.我以为我的完成处理程序有一些问题. 但我不能解决它:) @IBOutlet weak var slideshow: ImageSlideshow!var transitionDelegate: ZoomAnimatedTransitioningD 我正在使用这个 library在我的应用程序的横幅.我正在尝试通过解析JsON来获取链接.

图像在幻灯片视图中未显示.如果我按幻灯片视图,之后一切正常.我以为我的完成处理程序有一些问题.
但我不能解决它:)

@IBOutlet weak var slIDeshow: ImageSlIDeshow!var TransitionDelegate: ZoomAnimatedTransitioningDelegate?var Banner : [AlamofireSource] = []overrIDe func vIEwDIDLoad() {        super.vIEwDIDLoad()        Banners { (imagesource) in            if imagesource != nil {                self.bannershow()            }        }  }    func Banners(completionHandler: ([AlamofireSource]?) -> ()) -> (){        Alamofire.request(.GET,"http://46.420.116.11/mobileapp/gps/API.PHP?rquest=get_banners")            .responseJsON{ response in                if let data = response.result.value{                    let Json = JsON(data)                    let count = Json["image_path"].count                    for index in 0...count-1 {                        let image :String = Json["image_path"][index].stringValue                        let source : AlamofireSource = AlamofireSource(urlString: image)!                        self.Banner.append(source)                    }                    completionHandler(self.Banner)                }        }  }    func bannershow(){        self.slIDeshow.backgroundcolor = UIcolor.whitecolor()        self.slIDeshow.slIDeshowInterval = 2.0        self.slIDeshow.contentScaleMode = UIVIEwContentMode.ScaletoFill        self.slIDeshow.setimageinputs(self.Banner)        let recognizer = UITapGestureRecognizer(target: self,action: "click")        self.slIDeshow.addGestureRecognizer(recognizer)        } func click() {        let ctr = FullScreenSlIDeshowVIEwController()        ctr.pageSelected = {(page: Int) in            self.slIDeshow.setScrollVIEwPage(page,animated: false)        }        ctr.initialPage = slIDeshow.scrollVIEwPage        ctr.inputs = slIDeshow.images        self.TransitionDelegate = ZoomAnimatedTransitioningDelegate(slIDeshowVIEw: slIDeshow);        ctr.TransitioningDelegate = self.TransitionDelegate!        self.presentVIEwController(ctr,animated: true,completion: nil)    }@H_301_6@解决方法 你可能有一个线程问题.横幅完成处理程序不能保证主线程被调用.您需要在做任何触及属性或(特别是)界面的事情之前明确地走出主线程.                  总结       

以上是内存溢出为你收集整理的ios – 完成处理程序在viewDidLoad中不工作?全部内容,希望文章能够帮你解决ios – 完成处理程序在viewDidLoad中不工作?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1098140.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-28
下一篇2022-05-28

发表评论

登录后才能评论

评论列表(0条)

    保存