Swift - Thread 1: Fatal error: Index out of range error question

thread 1: fatal error: index out of range tableview
fatal error: index out of range uicollectionview
fatal error array index out of range swift 3
fatal error: index out of range: file
string index is out of bounds swift
check for index out of range swift
swift indexpath out of range
swift index out of bounds
var imageFileName = ["Ahri.jpg", "Bard.jpg", "batman.jpg", "Janna.jpg", "spiderman.jpg", "Twisted Fate.jpg"]

@IBOutlet var pickerImage: UIPickerView!

@IBOutlet var lblImageFileName: UILabel!

@IBOutlet var imageView: UIImageView!

override func viewDidLoad() {
    // Do any additional setup after loading the view, typically from a nib.

    for i in 0 ..< MAX_ARRAY_NUM {
        let image = UIImage(named: imageFileName[i])

this is my Swift code and it keeps "Thread 1: Fatal error: Index out of range" error is coming "let image = UIImage(named: imageFileName[i])" this point so how can I fix this one

I would suggest:

for imageName in imageFileName {
    let image = UIImage(named: imageName)

It will avoid crashes and it will loop all your elements

fatal error: Index out of range, Here is a trivial use case that demonstrates the problem: let array = [0, 1, 2] let index = 3 print(array[3]) // Fatal error: Index out of range. Stack Overflow Public questions and answers; Teams Private questions and answers for your team; Enterprise Private self-hosted questions and answers for your enterprise; Jobs Programming and related technical career opportunities

First of all the name imageFileName for an array (singular) is misleading. An array should be named in plural form: imageFileNames

Basically don't use hard-coded constants for the number of items in a collection type. This is the reason for the crash. And don't use pure index based for loops to enumerate arrays in Swift.

In most cases – most likely also in this one – you need only the element but not the index

for imageName in imageFileNames { ...

In the rare cases you really need the index use Fast Enumeration

for (index, imageName) in imageFileNames.enumerated() { ...


for (index, _) in imageFileNames.enumerated() { ...

Handling Index Out of Range Exception the Swift Way, Hey all! I'm fairly new to Swift / Apple development, Ive gotten the ropes of the language and for the most part. However, I'm stuck with the issue "Thread 1: Fatal error: Index out of range" when attempting to run the HID The line in question is​. 273 1 1 gold badge 4 4 silver badges 15 15 bronze badges 2 You should definitely return allSongsArray.count rather than a literal number; before the query has executed the array will contain 0 items.

Your crash depends on MAX_ARRAY_NUM value. I can guess it's more than 6. Then when you try to access imageFileName[7] it crashes as there is no element at this position.

The best solution would be to loop over your items, unrelating of any index.

DionizB's solution works. But I would like to post mine :

imageArray = imageFileName.map { return UIImage(named: $0) }

Thread 1: Fatal error: Index out of range : swift, has two indexed accesses, one for zi1 and another for xiNor1 . I recommend that you split these up to see what one is the problem: let tmp =  How to Fix 3 Common Beginner Crashes with Swift 4 and Xcode 9 - iPhone Apps 101 (29/30) - Duration: 10:25. Paul Solt 3,225 views

I am getting the "Thread 1: Fatal error: Index out of range" in the line , Fatal error: Index out of range, in the line where I try to some value to an array I. Dictionary<String,Any> // ===> Thread 1: Fatal error: Index out of range swift json. Content tagged with swift json. , thread 1: fatal error @IBOutlet weak var ans4: UIButton! var question = ""; var CorAns = 0; var quizData:  If you will rebuild your applications after deleting the Packages directory or do a swift package update before doing the swift build, the problem should be corrected. This comment has been minimized.

Fatal error: Index out of range, in the line wh |Apple Developer , I have a segmentControl with time range (1D, 3M, 1Y, 5Y) to perform network Have a question about this project? Charts / Swift 3.0 - Fatal error: Index out of range #1749 Crash occurs when there is only one reading . If you insist on using value as an index, you should put that in a variable first, and check for being "in range", obviously, to avoid the "Index out of range" exception. danielgindi closed this Oct 31, 2016

Charts / Swift 3.0, One common error every array user ever faced is “Fatal error: Index out will not ever face “Index out of range” (if there's no other thread/async  If we go back to that array of names, we assert that, when an array starts at index 0, its last index is length - 1. When an array has indices from m to n inclusive, the size of the array is n + 1 .