我已经制作了一个结构,我正在传递我的数据。数据在一个数组中。我正在运行一个for
循环来从中获取值,但我没有得到完整的值。假设循环运行时数组中有5.0
值。它首先显示我5
,然后.
,然后0
。我想让它给我5.0
而不是分开价值观。
我的循环是这样的:
for price in ItemDataSource.sharedInstance.items[indexPath.row].price! {
print(price)
}
它在控制台中显示:
这是我的物品类:
class Item : NSObject {
var name : String?
var price : String?
var itemDdescription : String?
}
class ItemDataSource : NSObject {
var items = [Item]()
static let sharedInstance = ItemDataSource()
private override init() {}
}
在这里,我将我的价值观传递给它:
let item = Item()
item.name = itemName
item.price = String(result)
item.itemDdescription = String(describing: description)
ItemDataSource.sharedInstance.items.append(item)
说明:
ItemDataSource.sharedInstance.items[indexPath.row].price!
是一个String
,迭代它意味着迭代其中的字符。因此,如果`ItemDataSource.sharedInstance.items [indexPath.row] .price!“是”5.0“,它将打印”5“,”。“然后”0“。
要获得给定行的价格,只需使用
let price = ItemDataSource.sharedInstance.items[indexPath.row].price!
正如@John Ottenlips建议的那样。
你的循环可能是不必要的。 indexPath.row将增加并允许您在此委托方法中迭代您的项目。如果你只想尝试每个单元一个价格尝试
let price = ItemDataSource.sharedInstance.items[indexPath.row].price!
print(price)
一般的代码气味是在返回单元格的方法中有一个for循环。