でループ(if文で)のために私は、2つの配列を有する:スウィフト:cellForRowAtIndexPath
tasks = [a,b,c]
とclType = [a,a,b,c,c,c]
アレイtasks
はclType
と同じであるが、if文私はforループを使用して、重複を除去しました。
ここでは、すべてのセクションがtasks
配列の要素の1つであるセクションでテーブルビューを作成します。このセクションでは、clType
配列の要素を右側のセクションの下に格納する必要があります。
override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCellWithIdentifier("cell", forIndexPath: indexPath)
print(clType)
for index in tasks.indices{
if indexPath.section == index{
for index1 in clType.indices{
if clType[index1] == tasks[index]{
cell.textLabel?.text = clType[index1] + ": " + taskName[index1] + " // " + dateStamp[index1] //Taskname and dateStamp are arrays with a matching index with regard to clType.
}
}
}
}
return cell
}
私はすでに正しい方向に向かっていると思うが、テーブルビューは正しいことが表示されていない:私はループ(複数可)については、以下でこれを設定しようとしました。私が今見ているのは3つのセクション(=正しい)ですが、そのセクションのすべての行は同じです。もちろん、すべてのセクションでアルファベット(a、b、c)は同じですが、taskName
とdateStamp
は異なるはずです。
どのようにこれを修正できますか。私は論理に何かが欠けているのを知っていますが、何ですか?
外側forループが必要ですか? "index = tasks [indexPath.section]"を実行できませんか? – onnoweb
あなたの質問を正しく理解しているなら、最後に 'index1'を置いておきます。これは、私の配列を表示する正しいインデックスを決定するためです。それは内側のループでしょうか? –
これを正しく行うには、「タスク」をセクションの見出しにし、「clType」を「タスク」の正しいセクション内の行にします。 「clType」をどのセクションでソートすべきかを決定する基準は何ですか? –