如何在 swift 中使用 NSNumber 和 Int 循环使用 for
how to use for in loop using NSNumber and Int in swift
我是 swift 的新手,我无法获取数组的值我的数组是这样的
(
"http://ivs.upetch.com/tpaf/storage/uploads/banner/15762295031269.jpg",
"http://ivs.upetch.com/tpaf/storage/uploads/banner/15762294973128.jpg",
"http://ivs.upetch.com/tpaf/storage/uploads/banner/15762294928909.jpg"
)
我的代码是这样的
self.bannerarr = bannerdata as! NSArray
print(self.bannerarr)
for bannerurl in self.bannerarr{
let stringbanner = self.bannerarr .object(at: bannerurl as! Int)
print(stringbanner)
}
但是当我试图从数组中获取值时它显示错误为
Could not cast value of type '__NSCFString' (0x1084207a0) to 'NSNumber' (0x10493ed40).
谁能告诉我我做错了什么
如果您想要每个元素的索引及其值,您可以使用 enumerated()
方法遍历数组。
It returns a sequence of pairs (index, element), where index represents a consecutive integer starting at zero and element represents an element of the sequence.
let bannerarr = ["http://ivs.upetch.com/tpaf/storage/uploads/banner/15762295031269.jpg",
"http://ivs.upetch.com/tpaf/storage/uploads/banner/15762294973128.jpg",
"http://ivs.upetch.com/tpaf/storage/uploads/banner/15762294928909.jpg"]
// use your iteration as like
for (index, element) in bannerarr.enumerated() {
print("get Index \(index): getString \(element)")
}
//初始化数据数组并return它
var 数据 = 字符串
let formatter = NSNumberFormatter()
formatter.numberStyle = .SpellOutStyle
for var i = 0; i < 3; i++ {
let number = NSNumber.init(integer: i)
data.append(formatter.stringFromNumber(number)!)
}
虽然问题已经解决了,但是我想在你的代码中告诉你循环中的'bannerurl'是元素。
也许你应该知道。
Swift4 你也可以使用:-
for i in 0..<self.bannerarr.count{
print("\(i) \(self.bannerarr[i])")
}
我是 swift 的新手,我无法获取数组的值我的数组是这样的
(
"http://ivs.upetch.com/tpaf/storage/uploads/banner/15762295031269.jpg",
"http://ivs.upetch.com/tpaf/storage/uploads/banner/15762294973128.jpg",
"http://ivs.upetch.com/tpaf/storage/uploads/banner/15762294928909.jpg"
)
我的代码是这样的
self.bannerarr = bannerdata as! NSArray
print(self.bannerarr)
for bannerurl in self.bannerarr{
let stringbanner = self.bannerarr .object(at: bannerurl as! Int)
print(stringbanner)
}
但是当我试图从数组中获取值时它显示错误为
Could not cast value of type '__NSCFString' (0x1084207a0) to 'NSNumber' (0x10493ed40).
谁能告诉我我做错了什么
如果您想要每个元素的索引及其值,您可以使用 enumerated()
方法遍历数组。
It returns a sequence of pairs (index, element), where index represents a consecutive integer starting at zero and element represents an element of the sequence.
let bannerarr = ["http://ivs.upetch.com/tpaf/storage/uploads/banner/15762295031269.jpg",
"http://ivs.upetch.com/tpaf/storage/uploads/banner/15762294973128.jpg",
"http://ivs.upetch.com/tpaf/storage/uploads/banner/15762294928909.jpg"]
// use your iteration as like
for (index, element) in bannerarr.enumerated() {
print("get Index \(index): getString \(element)")
}
//初始化数据数组并return它 var 数据 = 字符串
let formatter = NSNumberFormatter()
formatter.numberStyle = .SpellOutStyle
for var i = 0; i < 3; i++ {
let number = NSNumber.init(integer: i)
data.append(formatter.stringFromNumber(number)!)
}
虽然问题已经解决了,但是我想在你的代码中告诉你循环中的'bannerurl'是元素。 也许你应该知道。
Swift4 你也可以使用:-
for i in 0..<self.bannerarr.count{
print("\(i) \(self.bannerarr[i])")
}