You have
selectedProduct = "Academia blueBandages"
What is really selected ? a product (with all properties: brand, option1…)
or an item in inventory ?
In Product, some information seems redundant : the option (color) and the item (bandage) Why do you need both ?
Why don't you have an array for items ?
struct Product {
		var brand: String
		var option1: String // is it really needed ? You can infer from the item.
		var option2: String
		var items: [String]
}
What do you want to do ? user select a Product
=> then you know which items are selected what do you want to do in inventory ? remove 1 item ? Why do you add ?
Anyway, with a dictionary as
var inventory: [String: Int] = [
		"blueBandages": 0,
		"redBandages": 0,
		"yellowBandages": 0, // Need comma here
		"greenBandages": 0
]
Then
let product1 = Product(brand: "Academia", option1: "Blue", option2: "Red", items: ["blueBandages", "redBandages"])
let product2 = Product(brand: "Academia", option1: "Yellow", option2: "Green", items: ["yellowBandages", "greenBandages"])
let products = [product1, product2]
func buy(product: Product) {
		
		for item in product.items {
				inventory[item]? += 1
		}
}
buy(product: products[0])
print(inventory)
buy(product: products[1])
print(inventory)
gives
["greenBandages": 0, "redBandages": 1, "blueBandages": 1, "yellowBandages": 0]
["greenBandages": 1, "redBandages": 1, "blueBandages": 1, "yellowBandages": 1]