오류 : '카테고리'를 다른 종류의 심볼로 재정의두 개의 OS X 대상이 공유하는 ManagedObject 클래스입니다. 하나의 앱에만 클래스 재정의 오류가 있습니다. NSManagedObject의 이름을 바꾸지 않아도되는 문제를 수정 했습니까?
내 클래스 (카테고리)가 클래스에서 클래스를 재정의하는 것처럼 보이는 NSManagedObject 클래스 문제가 있지만 재단은 같은 프로젝트의 두 앱에 모두 있습니다!
내 프로젝트에는 두 개의 대상이 있으며,이 두 Mac OS x 응용 프로그램은 모두 데이터 모델과 해당 클래스를 공유합니다. 하나의 응용 프로그램 인 주 응용 프로그램은 응용 프로그램 저장소로 잘게 뻗어 있습니다. 다른 응용 프로그램은 기본 응용 프로그램과 함께 XML에서 sqlite 데이터베이스를 생성하는 유틸리티 응용 프로그램입니다.
주요 앱이 컴파일되어 실행됩니다. 유틸리티 애플 리케이션은 아래에 약간의 오류를 throw합니다. "Redefinition"문제는 유틸리티 앱에서만 발생합니다. 클래스 카테고리의 이름 바꾸기는이 문제에 대한 수정이지만 주 앱이 컴파일되고 실행되는 사실 은 다른 곳을보고 해결할 수 있다고 알려줍니다. 누군가가 나를 볼 수있는 충분한 데이터가되기를 바랍니다. $ (TARGET_NAME) == SqlFromXml_HM == 제품 이름
문제 유틸리티가 있습니다 0 대상 종속성 (11) 컴파일 소스 0 링크 바이너리와 라이브러리 5 복사 번들 자원
In file included from /Users/mbarron/Cocoa/iHungryMac386/SqliteFromXml_HM/AppDelegateSql.m:13:
/Users/mbarron/Cocoa/iHungryMac386/Classes/Category.h:14:12: error: redefinition of 'Category' as different kind of symbol
@interface Category : NSManagedObject {
^
In module 'Foundation' imported from /Users/mbarron/Cocoa/iHungryMac386/SqliteFromXml_HM/XmlListReader5.h:12:
In module 'CoreFoundation' imported from /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/System/Library/Frameworks/Foundation.framework/Headers/Foundation.h:6:
In module 'Dispatch' imported from /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/System/Library/Frameworks/CoreFoundation.framework/Headers/CFStream.h:15:
In module 'os' imported from /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/include/dispatch/dispatch.h:48:
In module 'ObjectiveC' imported from /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/include/os/object.h:74:
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/include/objc/runtime.h:50:31: note: previous definition is here
typedef struct objc_category *Category;
^
1 error generated.
을 Info.plist는 다음과 같습니다 :
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>en</string>
<key>CFBundleExecutable</key>
<string>$(EXECUTABLE_NAME)</string>
<key>CFBundleIconFile</key>
<string></string>
<key>CFBundleIdentifier</key>
<string>com.DrummingGrouse.$(PRODUCT_NAME:rfc1034identifier)</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>$(PRODUCT_NAME)</string>
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleShortVersionString</key>
<string>1.0</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>1</string>
<key>LSMinimumSystemVersion</key>
<string>$(MACOSX_DEPLOYMENT_TARGET)</string>
<key>NSMainNibFile</key>
<string>MainWindow</string>
<key>NSPrincipalClass</key>
<string>NSApplication</string>
</dict>
</plist>
카테고리 .H이를 읽는
// Category.h
#import <CoreData/CoreData.h>
@class Recipe;
@interface Category : NSManagedObject {
...
}
많은 감사를 시작합니다. 표시