2017-11-15 1 views
0

지난 두 주 동안 객체 배열 ingredientrecipe의 배열로 사용하기 위해 관계를 사용하려고 노력했습니다. 나는 this video을보고 있었다. 이제, recipe 두 개의 확장과 ingredient 클래스를 생성함으로써, 내가 특별히 내가 GitHub의에서 힘내 리포이CoreData 관계 만들기로 인해 코드에서 20+ 오류가 발생합니다

invalid use of (class structure)

또는

ambiguous use of (class structure)

말을, 내 모든 코드에서 오류의 톤을 얻고 그 내 코드 here을 진단 할 수 있습니다. 그렇지 않으면

, 여기에 내가이 만든 확장은

레시피 등급 :

import Foundation 
import CoreData 


extension Recipe { 

@nonobjc public class func fetchRequest() -> NSFetchRequest<Recipe> { 
    return NSFetchRequest<Recipe>(entityName: "Recipe") 
} 

@NSManaged public var ingredients: String? 
@NSManaged public var instructions: String? 
@NSManaged public var time: String? 
@NSManaged public var title: String? 
@NSManaged public var ingredient: [Ingredient]? 

} 

// MARK: Generated accessors for ingredient 
extension Recipe { 

@objc(addIngredientObject:) 
@NSManaged public func addToIngredient(_ value: Ingredient) 

@objc(removeIngredientObject:) 
@NSManaged public func removeFromIngredient(_ value: Ingredient) 

@objc(addIngredient:) 
@NSManaged public func addToIngredient(_ values: NSSet) 

@objc(removeIngredient:) 
@NSManaged public func removeFromIngredient(_ values: NSSet) 

} 

그리고 성분 클래스 :

import Foundation 
import CoreData 


extension Ingredient { 

@nonobjc public class func fetchRequest() -> NSFetchRequest<Ingredient>{ 
    return NSFetchRequest<Ingredient>(entityName: "Ingredient") 
} 

@NSManaged public var cost: Double 
@NSManaged public var name: String? 
@NSManaged public var unit: String? 
@NSManaged public var recipe: NSSet? 

} 

// MARK: Generated accessors for recipe 
extension Ingredient { 

@objc(addRecipeObject:) 
@NSManaged public func addToRecipe(_ value: Recipe) 

@objc(removeRecipeObject:) 
@NSManaged public func removeFromRecipe(_ value: Recipe) 

@objc(addRecipe:) 
@NSManaged public func addToRecipe(_ values: NSSet) 

@objc(removeRecipe:) 
@NSManaged public func removeFromRecipe(_ values: NSSet) 

} 
+1

이러한 오류의 원인이되는 코드 줄의 예제를 포함하면 도움이됩니다. –

답변

0

당신은 당신이 원하는 경우 결정해야 CoreData 클래스 파일을 직접 관리하거나 Xcode에서 관리하도록하십시오. Xcode에서 관리하도록 Xcode에 지시하더라도 Recipe+CoreDataClass.swiftIngredient+CoreDataClass.swift을 생성했습니다. 따라서이 오류가 발생하는 이유는 다음과 같습니다.

Command /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swiftc failed with exit code 1 

이 오류는 같은 이름의 클래스가 여러 개 있음을 나타냅니다.

따라서 RecipeIngredient 확장자를 삭제하고 Xcode에서 관리하거나 사용자가 직접 만들거나 올바르게 만들도록하십시오. 원할 경우 다음 단계를 따르십시오. https://stackoverflow.com/a/40868074/5464989

이 파일을 수동으로 만든 후에 앱이 작동하는 것 같습니다.

관련 문제