![](/img/trans.png)
[英]Receiver type "WkAlertAction" for class message is a forward declaration
[英]Receiver type is forward declaration
我有這個代碼(以及其他東西):
- (NSManagedObjectContext *) managedObjectContext
{
assert([NSThread isMainThread]);
if (_managedObjectContext != nil) {
return _managedObjectContext;
}
NSPersistentStoreCoordinator *coordinator = [self persistentStoreCoordinator];
if (coordinator != nil) {
_managedObjectContext = [[NSManagedObjectContext alloc] init];
[_managedObjectContext setPersistentStoreCoordinator: coordinator];
}
return _managedObjectContext;
}
這些行給了我錯誤,類消息是一個前向聲明:
_managedObjectContext = [[NSManagedObjectContext alloc] init];
[_managedObjectContext setPersistentStoreCoordinator: coordinator];
這是什么,我該如何解決?
您必須在Supporting Files / YourApp-Prefix.pch文件中導入CoreData / CoreData.h:
#ifdef __OBJC__
#import <UIKit/UIKit.h>
#import <Foundation/Foundation.h>
#import <CoreData/CoreData.h>
#endif
通過前向聲明意味着您必須通過@Class
聲明類。 導入.h / .m文件中的類,希望它能解決問題。
將其添加到.h或.m文件的頂部
#import <CoreData/CoreData.h>
我通過在使用Swift類的Objective C類中導入#import“Project-Name-Swift.h”文件解決了這個問題。
我更改文件DDXML.h和工作。
文件:DDXML.h
更改:
#if TARGET_OS_IPHONE && 0 // Disabled by default
至:
#if TARGET_OS_IPHONE && 1 // Disabled by default
這在我重命名一個類后經常發生,然后忘記在頭文件中更新@class myclass(顯然不會拋出編譯錯誤。)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.