私は、デバッグ時に期待通りにビルドして実行するiOSプロジェクトを持っていますが、リリース用にビルドされるとコンパイルエラーが発生します。エラーは、スーパークラスで宣言されイヴァーと行うことです、それはここでは、具体的スーパークラス/サブクラスのビルドの相違点をデバッグ/リリース
'fetchedResultsController_' undeclared (First use in this function).
あるスーパークラスの.hです。
@interface Super : UIViewController <NSFetchedResultsControllerDelegate> {
NSFetchedResultsController* fetchedResultsController_;
NSManagedObjectContext* managedObjectContext_;
}
@property (nonatomic, retain) NSFetchedResultsController* fetchedResultsController;
@property (nonatomic, retain) NSManagedObjectContext* managedObjectContext;
@end
及びスーパー.M
@implementation Super
@synthesize fetchedResultsController = fetchedResultsController_;
@synthesize managedObjectContext = managedObjectContext_;
#pragma mark -
#pragma mark Properties
-(NSFetchedResultsController*)fetchedResultsController {
return nil;
}
サブクラスインターフェイスは、このように定義される: - サブクラス.Mで
@interface Sub : Super <UIActionSheetDelegate, UIImagePickerControllerDelegate, UINavigationControllerDelegate> {
// extra stuff
}
IはfetchedResultsController
-(NSFetchedResultsController*)fetchedResultsController {
if (fetchedResultsController_ == nil) { // undeclared error here....
//stuff
}
return fetchedResultsController_;
ための遅延ロードを実装
私は混乱していますこれはデバッグではなく、リリースではうまくいかない理由がわからないからです!誰かが問題が何であるかを識別することができれば
私はこれがあなたの質問への答えではありません大幅
私はそれを搭載し、変更を加えた後に問題が解決されました。しかし、私は「このスーパークラスが必要なのは何ですか?」と考えました。ちょうどプロジェクトからそれを取り除いた! – Damo
@Damo::-) .... – JeremyP