私は、SpecificFoodクラスにある自分の食材名(FoodName)を取得しようとしています。食事クラスには、成分オブジェクトを含む特性mealIngredientsがあります。あるクラスから別のクラスにアクセスするにはどうすればよいですか?
テーブルビューでは、mealingredientsのfoodNameを参照しようとしていますが、食事クラスではなくSpecificFoodを参照しているため、foodNameは見つかりません。私はすべての名前と成分を別々のモデルクラスの異なる食品に入力します。
これを行うより良い方法がある場合は、私が迅速かつプログラミングに慣れているのでお知らせください。
ご協力いただければ幸いです。
let meal = self.selectedMeal
let ingredientTitle = meal?.mealIngredients[indexPath.row].FoodName
cell.textLabel?.text = String(ingredientTitle)
return cell
私はそのようなトップのすべての異なるクラスを参照しました。
var myMeals:Array = [Meal]()
var meals:[Meal] = [Meal]()
var ingredients:[SpecificFood] = [SpecificFood]()
私の食事クラスはそうです;
class Meal: NSObject {
var mealTitle:String = ""
var mealID:String = ""
// var mealIngredients:NSArray = [NSObject]()
var mealIngredients:NSArray = [SpecificFood]()
}
My SpecificFoodクラスはそのようなものです。
class SpecificFood: NSObject {
var foodName = ""
var foodGroup = ""
}
私のモデルはそのようなものです。 (私は他の食品や食材の一部を撮影したが、これはJISTを与えます。
class MealModel: NSObject {
var ingredients:[SpecificFood] = [SpecificFood]()
func getMeals() -> [Meal] {
var allFoods = [SpecificFood]()
let meat = String()
let chicken = SpecificFood()
let rice = SpecificFood()
// Assign properties of the SpecificFoods
chicken.foodName = "Chicken"
chicken.foodGroup = meat
// Add foods to my food array
allFoods.append(chicken)
// Create a meal objects
var meal1 = Meal()
// Assign properties
meal1.mealIngredients = [chicken, rice, tomatoeSauce]
コードの先頭2枚でのtableViewを持つクラスを参照してください。それはvar selectedMeal:Meal?
クラス変数を表示できます – Shades
@Shadesはこのヘルプを実行しますか?私は可能なすべての情報を表示しようとしました。私は混乱しているのはオブジェクト指向のプログラミングと継承だと思う。 –
あなたのコードでは、この行で大文字になっているのは、FoodNameです:let ingredientTitle = meal?.mealIngredients [indexPath.row] .FoodName – Shades