365個の整数を格納する配列を作成しようとしていますが、完全に塗りつぶす必要があります。私は1年後のユーザーステップを把握するためにHealthkitを使用しています。したがって配列のサイズです。すべての整数は1日を表します。配列に挿入して日付を比較するSwift iOSコード
私はすでにアンドロイドでこれを行っていますが、それは完全に機能しています.365の整数は、ステップがない日には0で戻っていますが、問題はiOSの健康キットです。必要。これを行うために、私は現在の日付+ 1の日付と変数を比較し、最後に配列を0にしないと、一致するケースがあるかどうかを調べるために配列をループすると考えました。
これを行うために、var ID = 0の行に365の配列を作成しました。これは、整数を正しく配列に格納しようとするところです。私は、最初に私は、アレイ内の現在の日付(基本的にはインデックス0で列挙ループに入る日付を比較しようとするvar IDで、私はstepDataを列挙場所ですスウィフト4
struct stepy {
static var step = [365]
}
使用しています今日の最初の日を表す)。
しかし、私は問題を抱えていますが、現在、2番目のステップの列挙ですでに日付に入力された日を上書きすると思いますか?また、私は、私はちょうど日が呼ばれる有効なメンバーを持っていない取得、日付コードを正しくコンパイルすることができません意味がありません上記
stepsQuery.initialResultsHandler = { query, results, error in
let endDate = NSDate()
let startDate = calendar.date(byAdding: .day, value: -365, to: endDate as Date, wrappingComponents: false)
if let myResults = results{
myResults.enumerateStatistics(from: startDate!, to: endDate as Date) { statistics, stop in
if let quantity = statistics.sumQuantity(){
var date = statistics.startDate
let steps = quantity.doubleValue(for: HKUnit.count())
var id = 0
var dateToInsert = date
var today = Date()
var todaytwo = Date()
for index in 0..<stepy.step.count {
if dateToInsert != today {
id = index + 1
today.(Calendar.current.date(byAdding: .day, value: -1, to: today)
stepy.step.append(0)
}
if date == dateToInsert as Date {
today.add(Calendar.current.date(byAdding: .day, value: -1, to: today)
stepy.step.append(Int(steps))
id = index + 1
}
}
}
}
}
}
'var step = [Int](繰り返し:0、count:365)'で365個の0の配列を作成することができます。 –