2017-05-05 17 views
0

我的應用程序中有食物日記,我想知道如何編寫邏輯以便我的標籤可以更新爲用戶已消耗的卡路里積累當天。我在想,也許我可以將cals的狀態保存爲其他變量的整數......但除此之外,我很困難。繼承人應用的PIC:如何讓用戶在我的應用程序中添加卡路里時增加標籤

Calories

這是我在我的功能那麼遠,我想添加類級別的變量如

VAR appJustLoaded =真 的保存應用程序的狀態,然後在用戶輸入食物後將其關閉。有什麼建議麼?我基本上想要我的卡路里標籤更新,因爲用戶輸入更多的卡路里食物。我知道它很簡單,但我堅持哈哈

func didAddRow(name: String, calories: String, section: Int) { 

    var newCals = Int(calories) 


    calsforToday.text = calories 
+0

暫時可以將其存儲在視圖控制器的一個成員變量,但是你需要尋找到像CoreData保存更持久。 –

+0

您是否想讓標籤擁有總卡路里?你可以有一個名爲'totalCalories'的變量,在你的'didAddRow'函數中,你可以將卡路里加到總數中。然後,因爲這是簡單和整數,你可以使用UserDefaults保存它。請查看此示例以瞭解如何使用UserDefaults存儲數據。 https://www.hackingwithswift.com/read/12/2/reading-and-writing-basics-userdefaults – naturaln0va

+0

@ naturaln0va的作品,請把它作爲一個答案,所以我可以+1你。謝謝! – thelegendary3

回答

0

你可以追加新的卡路里數組,然後你可以總和他們。

var caloriesArray = [1,2,3,4,5,6,7,8,9,10] 
func didAddRow(name: String, calories: String, section: Int) { 

    var newCals = Int(calories) 

    caloriesArray.append(newCals!) 

    calsforToday.text = caloriesArray.reduce(0, +) 

} 

如果要存儲在CoreData的數據,你會當你獲取數據,讓您的使用總量是這樣的。

let result = try! context.fetch(request) as! [NSManagedObject]; 
let sum = result.reduce(0) { $0 + ($1.value(forKey: "Value") as? Int16 ?? 0) } 
相關問題