1
Я пытаюсь загрузить изображения, а затем отобразить их в виде прокрутки.Как получить доступ к Array за пределами закрытия?
- Сначала ссылки извлекаются из
Firebase
в виде строки - строка преобразуется в массив
DLImageLoader
загрузки изображений «я» и отображает его в окне просмотра изображений.
Я проверил прокрутку, используя местные изображения, и это работает. Когда я использую код ниже, я получаю ошибку «из индекса». Я использую Swift 3
override func viewDidLoad()
{
super.viewDidLoad()
FIRDatabase.database().reference(withPath: "Main data").child("Home Image URLs").observeSingleEvent(of: .value, with: { (snapshot) in
if let snapString = snapshot.value as? String {
self.imageURLsVAR = snapString
self.imageURLs = self.imageURLsVAR.components(separatedBy: ",")
// self.label.text = String(self.imageURLs[1])
}
}) { (error) in
print(error.localizedDescription)
}
for i in 0..<imageURLs.count{
let imageview = UIImageView()
// imageview.image = homeImages[i]
dlURL = String(imageURLs[i])
DLImageLoader.sharedInstance().image(fromUrl: String(imageURLs[i]), imageView: imageview)
imageview.contentMode = .scaleAspectFit
let xPosition = self.view.frame.width * CGFloat(i)
imageview.frame = CGRect(x: xPosition, y: 0, width: self.imgScrollView.frame.width, height: self.imgScrollView.frame.height)
imgScrollView.contentSize.width = imgScrollView.frame.width * CGFloat(i + 1)
imgScrollView.addSubview(imageview)
view.sendSubview(toBack: imgScrollView)
}
}
2017-02-24 22:25:20.037: <FIRMessaging/INFO> FIRMessaging library version 1.2.2
2017-02-24 22:25:20.045: <FIRMessaging/WARNING> FIRMessaging AppDelegate proxy enabled, will swizzle app delegate remote notification receiver handlers. Add "FirebaseAppDelegateProxyEnabled" to your Info.plist and set it to NO
2017-02-24 22:25:20.118 tda[1828] <Notice> [Firebase/Crash][I-CRA000004] Successfully initialized
2017-02-24 22:25:20.119 tda[1828] <Notice> [Firebase/Analytics][I-ACS023007] Firebase Analytics v.3700000 started
2017-02-24 22:25:20.120 tda[1828] <Notice> [Firebase/Analytics][I-ACS023008] To enable debug logging set the following application argument: -FIRAnalyticsDebugEnabled
2017-02-24 22:25:20.134 tda[1828] <Notice> [Firebase/Analytics][I-ACS003007] Successfully created Firebase Analytics App Delegate Proxy automatically. To disable the proxy, set the flag FirebaseAppDelegateProxyEnabled to NO in the Info.plist
2017-02-24 22:25:20.209 tda[1828] <Warning> [Firebase/Analytics][I-ACS005000] The AdSupport Framework is not currently linked. Some features will not function properly.
2017-02-24 22:25:20.214 tda[1828] <Notice> [Firebase/Analytics][I-ACS023012] Firebase Analytics enabled
correct
fatal error: Index out of range
я получаю ту же ошибку. Также, когда я добавил отредактированный код, который вы дали, он сказал, чтобы добавить «я» почти ко всему. @varunNaharia –
просто запустите цикл как для i в 0 ..
Я все еще получаю ту же ошибку. Я не могу получить доступ к массиву или переменным где-либо еще, кроме двух фигурных скобок, где я его получил. @varunNaharia –