2010-12-27 10 views
0

コアデータを使用してデータベースにレコードを追加しようとしています。 appDelegateには、マネージドオブジェクトモデル、コンテキスト、およびストアコーディネータの設定が含まれています。アプリケーションが起動され、私のビューのいずれかでfetchResultsControllerメソッドを照会すると、スキーマが正しいスキーマ名とカラムに一致するようにデータベースが作成されます。しかし、テーブルにレコードを追加しようとすると問題が発生します。タブバーコントローラでコアデータを使用してレコードを追加する

BurpListNavController.hファイルには、以下の内容(私は勉強しています)しています

#import <UIKit/UIKit.h> 
@class BurpRecordController; 

@interface BurpListNavController : UINavigationController <NSFetchedResultsControllerDelegate> { 

BurpRecordController *burpRecordController; 
NSFetchedResultsController *fetchedResultsController; 
NSManagedObjectContext *managedObjectContext; 

} 

@property (nonatomic, retain) IBOutlet BurpRecordController *burpRecordController; 
@property (nonatomic, retain) NSFetchedResultsController *fetchedResultsController; 
@property (nonatomic, retain) NSManagedObjectContext *managedObjectContext; 

- (void)saveBurpLocal:(id)sender; 
@end 

私は、げっぷ、げっぷアプリケーションの何千ものyesの別の1を記録した見解を持っています。ハハ。次のように次のコードは次のとおりです。

#import <UIKit/UIKit.h> 
#import <AVFoundation/AVFoundation.h> 
#import <CoreAudio/CoreAudioTypes.h> 

@class BurpLocal; 
@class BurpListNavController; 

@interface BurpRecordController : UIViewController <AVAudioRecorderDelegate, UIActionSheetDelegate> { 

/*** Outlets to talk to the view ***/ 
IBOutlet UITextField *burpName; 
IBOutlet UIButton *_recordButton; 

/*** Standard Variables ***/ 
NSURL *recordedTmpFile; 
//AVAudioRecorder *recorder; 
NSError *error; 

BurpLocal *burpLocal; 
BurpListNavController *burpListNavController; 
} 

/*** Properties ***/ 
@property (nonatomic, retain) IBOutlet UITextField *burpName; 
@property (nonatomic, retain) IBOutlet UIButton *recordButton; 
@property (nonatomic, assign) IBOutlet BurpListNavController *burpListNavController; 
@property(nonatomic, retain) BurpLocal *burpLocal; 

/*** Method ***/ 
-(IBAction)saveRecording:(id)sender; 

-(void)applicationWillTerminate:(NSNotification *)notification; 

@end 

、エンドユーザが、それは私が踏み入れると素晴らしいですできる「saveRecording」メソッドを呼び出して、「保存」ボタンを押す

。次に、私は "saveRecording"メソッド内で次のコード行を呼び出そうとします:[burpListNavController saveBurpLocal:sender];これはnavコントローラの "saveBurpLocal"メソッドを呼び出すと思って、それを踏み越え、navコントローラメソッドのブレークポイントで停止せず、現在の "saveRecording"関数の最後に移動します。データベースなどにレコードを書き込まない。

助けてください!これは私を夢中にさせている。

+0

saveRecordingのコードをここに配置できますか? – Ishu

答えて

0

さらにコードを書くことは難しいです。それはburpListNavControllerが設定されていないように思えます。 saveRecording:メソッドを実行するとき、burpListNavController 0x0の値は?もしそうなら、あなたはどこかでそのiVarを設定するのを忘れてしまった。

あなたが別の言語を使用している場合は、通常はnullポインタ上のメソッドを呼び出すとクラッシュするので、少し奇妙に聞こえるかもしれません。 Objective-Cではそうではありませんが、メッセージをnilに送るのは完全に合法です。実際に起こることは何も期待していません。

関連する問題