@在Objective-C中受保护
我有一个简单的课程:@在Objective-C中受保护,objective-c,ios,inheritance,protected,Objective C,Ios,Inheritance,Protected,我有一个简单的课程: #import <UIKit/UIKit.h> #import <CoreData/CoreData.h> @interface MyTableViewController : UITableViewController { @protected NSFetchedResultsController *_fetchedResultsController; } #导入 #进口 @接口MyTableViewController:UITable
#import <UIKit/UIKit.h>
#import <CoreData/CoreData.h>
@interface MyTableViewController : UITableViewController
{
@protected
NSFetchedResultsController *_fetchedResultsController;
}
#导入
#进口
@接口MyTableViewController:UITableViewController
{
@保护
NSFetchedResultsController*\u fetchedResultsController;
}
还有一点:
#import <UIKit/UIKit.h>
@interface MyChildTableViewController : MyTableViewController
{
}
- (void)someMethod;
#导入
@接口MyChildTableViewController:MyTableViewController
{
}
-(无效)某种方法;
问题是我不能在MyChildTableViewController
类中使用\u fetchedResultsController
。我得到编译时错误:“\u fetchedResultsController”未声明(此函数首次使用)`
这里出了什么问题?我也有同样的问题,通过使用self->,一切正常。在评论中发布了正确答案。我已经要求他(也在评论中)重写它作为一个答案——这样我就可以接受它了。但他没有。因此,我将发布我自己的答案,只是为了结束这个问题,并将其从未回答的问题中删除 解决方案:
在项目设置中将
C/C++编译器版本
更改为LLVM编译器2.0
。p.s.:self->\u fetchedResultsController
工作……正如您所想,添加self->
工作正常。我还听说,切换到LLVM将使其在没有该选项的情况下工作,并且似乎表明它应该工作。请写下您的评论作为答案-您的建议帮助了我(我已将C/C++编译器版本
更改为LLVM编译器2.0
),我想将其标记为正确且接近的问题。