我制作了一个我传递数据的结构。数据在一个数组中。我正在运行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)
答案 0 :(得分:1)
说明:
String
是let price = ItemDataSource.sharedInstance.items[indexPath.row].price!
,迭代它意味着迭代其中的字符。因此,如果`ItemDataSource.sharedInstance.items [indexPath.row] .price!“为”5.0“,它将打印”5“,”。“然后”0“。
要获得给定行的价格,只需使用
即可function getDates(startDate, endDate, interval) {
const duration = endDate - startDate;
const steps = duration / interval;
return Array.from({length: steps+1}, (v,i) => new Date(startDate.valueOf() + (interval * i)));
}
const startDate = new Date(2017,12,30);
const endDate = new Date(2018,1,3);
const dayInterval = 1000 * 60 * 60 * 24; // 1 day
const halfDayInterval = 1000 * 60 * 60 * 12; // 1/2 day
console.log("Days", getDates(startDate, endDate, dayInterval));
console.log("Half Days", getDates(startDate, endDate, halfDayInterval));
正如@John Ottenlips建议的那样。
答案 1 :(得分:0)
您的循环可能是不必要的。 indexPath.row将增加并允许您在此委托方法中迭代您的项目。如果您只想尝试每个单元格一个价格,请尝试
ClassA
ClassC
一般代码气味是在您返回单元格的方法中有一个for循环。