Ich versuche, meine Zutaten Name (FoodName), die in der Klasse SpecificFood ist. Die Mahlzeitklasse hat eine Eigenschaft Mahlzeit Zutaten, die Zutaten Objekte enthält.Wie greife ich auf eine Variable von einer Klasse zu, die sie von einer anderen nimmt?
In der Tabellenansicht versuche ich nun, auf das foodName in den mealingredients zu verweisen, jedoch findet es das foodName nicht, weil das sich auf das SpecificFood eher als die Mahlzeitklasse bezieht. Ich gebe die Namen für alles und die Zutaten in einer separaten Modellklasse in verschiedene Lebensmittel ein.
Wenn es eine bessere Möglichkeit gibt dies zu tun, lassen Sie es mich bitte wissen, ich bin neu zu schnell und Programmierung.
Jede Hilfe würde sehr geschätzt werden.
Ich habe Bezug auf alle verschiedenen Klassen in der Spitze solcher;
var myMeals:Array = [Meal]()
var meals:[Meal] = [Meal]()
var ingredients:[SpecificFood] = [SpecificFood]()
Meine Mahlzeit Klasse ist so;
class Meal: NSObject {
var mealTitle:String = ""
var mealID:String = ""
// var mealIngredients:NSArray = [NSObject]()
var mealIngredients:NSArray = [SpecificFood]()
}
Meine SpecificFood-Klasse ist so;
class SpecificFood: NSObject {
var foodName = ""
var foodGroup = ""
}
Dann ist mein Modell so; (Ich habe einige der anderen Lebensmittel und Zutaten genommen, aber dies gibt den 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]
Die oberen beiden Teile des Codes auf die Klasse verweisen mit dem Tableview in. Sie hat keinen anderen Code in abgesehen von var selectedMeal:Meal?
Können Sie Ihre Klassenvariablen anzeigen – Shades
@Shades hilft das? Ich habe versucht, alle Informationen zu zeigen, die ich kann. Ich denke, es ist die objektorientierte Programmierung und Vererbung, wo ich verwirrt werde. –
In Ihrem Code ist FoodName in dieser Zeile großgeschrieben: lent ingredientTitle = meal? .mealIngredients [indexPath.row] .FoodName – Shades