Swift教程_swift常见问题(0006)_完美解决swift数组索引是变量时的内存溢出

Swift教程_swift常见问题(0001)_CoreData: warning: Unable to load class named 'xxx' for entity 'xxx'

Swift教程_swift常见问题(0002)_完美处理SourceKitService Crashed异常,6.1.1大部分已经修复

Swift教程_swift常见问题(0003)_storyboard修改不生效

Swift教程_swift常见问题(0004)_swift代码不能自动提示和补全

Swift教程_swift常见问题(0005)_完美解决Cannot override 'dealloc'异常

Swift教程_swift常见问题(0006)_完美解决swift数组索引是变量时的内存溢出

Swift教程_swift常见问题(0007)_Can't find model for source store


问题描述:

很多情况下我们都会使用int型变量当作索引来获取数组中的对象,但是再swift中经常会报内存溢出,原因如下:

swift的数据一定不能越界,有可能越界的话编译也是通不过的,如下:

var btn = ["11","22","33"]
var i = Int(arc4random()) % 9
print(i)
println(btn[i])//内存有可能溢出,所以会报异常


解决方案:

解决办法非常简单,先判断一下是否越界,多维数组也是一样,如下:

var btn = ["11","22","33"]
var i = Int(arc4random()) % 9
print(i)
if i < btn.count {
    println(btn[i])
}


点击进入ooppookid的博客

你可能感兴趣的:(ios,数据,xcode,swift,内存溢出)