2017-11-29 2 views
-1

私はtodoアプリケーションを構築しています。私は、ユーザーがタスクのカテゴリとタスクを作成できるようにしたい。私は、それが属しているカテゴリに基づいてテーブルビューに正しいタスクを表示する方法を理解しようといくつかの問題を抱えています。私はまた、ユーザーが期日を選択できるようにしたい。カテゴリに基づいてタスクを表示するTodoアプリケーション

var categories = ["Work", "Private"]

にはどうすればタスク、タスクのカテゴリ、および期日を格納します、我々はカテゴリを持つ配列を考えてみましょうか? そして、それが属しているカテゴリに基づいて正しいタスクにアクセスします。

タスクにカテゴリ "home"印刷タスクがある場合。

私は最初に辞書var tasks = ["Category": "Task"]に格納することを考えましたが、そのカテゴリに基づいて正しいタスクにアクセスする方法を理解できませんでした。 検索を試みましたが、どこでも答えを見つけることができませんでした。

+1

ちょうど始まったばかりの場合、スタックオーバーフローに関する質問は、必要な場所ではありません。良い本や一連のオンラインチュートリアルがあります。いくつかのリソースについては\ [swift \]タグwikiを見てください(http://stackoverflow.com/tags/swift/info)。アップルのシステムで作業している場合は、[ObjCの学習のための優れたリソース](http://stackoverflow.com/q/1374660)をご覧ください。これは実際にはCocoaプログラミングに関するものであり、多くの項目Swiftを使用するように更新されます。がんばろう! –

答えて

0

これを行う1つの方法は、1アレイと1辞書を維持することです。カテゴリ配列(特定の順序を維持するため)を持つことができますし、辞書を使用してそのカテゴリに属する​​タスクを検索します。それはこのようなものになりますので:あなたのtableViewのデータソースの方法で

var categories: [String] = ["Work", "Private"] 
var tasks: [String : [String]] = ["Work" : ["Finish writing", "Go to lunch"], "Private" : ["Buy gifts for people who help me on Stack Overflow"]] 

この方法は、あなたがcategories.countをするnumberOfSectionsを設定することができ、そしてそれは、行の数を把握する時が来たとき、あなたはこのような何かを行うことができます。

func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { 
    //Get the category that corresponds to this section of the tableview 
    let category = categories[section] 
    //Return the number of tasks in that category 
    return tasks[category].count 
} 

これは、これを行うためのひとつの方法である - スウィフトにあなたがクラッシュを避けるために/削除/安全辞書にアクセス項目を追加する必要がありますけれども、私は、最も簡単に主張するかもしれません。

関連する問題