0

nsobject クラス内で使用するコア データをセットアップしようとして完全に失われました。既存のプロジェクトにコアデータを追加しているので、これをすべて理解するのは非常に困難です。このため、現在のアプリに coredata を実装するために必要なサンプル コードを取得するために、coredata を使用して新しいプロジェクトを開始しました。ただし、オブジェクト クラスでこの coredata サンプル コードを使用するには、どのような変更を加える必要があるのか​​ 疑問に思っています。テンプレートコードが行っているビューコントローラー/テーブルビューの代わりに?

私の質問に答えるために、現在プロジェクトで何をしているのかを説明します。

さまざまなデータ セットを表示するいくつかのビュー コントローラーがあります。これは、カスタム データベース エンジンと通信する必要があるためです。作成した 2 つのクラスがあります。1 つは、NSURLRequest/NSURLConnection を使用して DBEngine に送信されるあらゆる種類のデータを含むパケットを作成する要求クラスです。

カスタム リクエスト クラスで NSURLRequest/NSURLConnection デリゲートを使用しているため、リクエストを DBEngine に送信するときは、connectionDidFinishLoading デリゲート メソッド内で応答を取得するまで待ちます。その後、応答データを次のように応答クラスに渡します。 ..

- (void)connectionDidFinishLoading:(NSURLConnection *)connection
{
    // depending on what sorta request is made will depend on how the data shuld be handled.
    if ([methodName isEqualToString:@"GetDBVersion"]) {
        //tbc
    }
    else if ([methodName isEqualToString:@"GetManuf"]) 
    { 
        [engineResponses GetManuf:receivedData];
    }
    else if ([methodName isEqualToString:@"GetNonM"]) 
    {
        [engineResponses GetNonM:receivedData RestrictionID:RestrictionID];
    }        
}

これを行うことで、engineResponses クラスの新しいインスタンスを作成しています。これは、アプリケーション デリゲートからこの同じクラスにコンテキストを渡そうとするまでは問題ありません。したがって、機能しないものに相当する別のインスタンスを作成します....

したがって、上記のように、テンプレートコードを編集して自分に有利に機能させるにはどうすればよいか疑問に思っています...説明で明確になっていることを願っています。過去2日間、このことを理解しようとして尻尾を追いかけていました..コアデータを扱ったのは初めてで、型にはまらない方法で使用しているように見えるため、それを理解するのが難しいと感じています....

どんな助けでも大歓迎です..さらにコード例やより良い説明が必要な場合は、お問い合わせください..私は助けを得るためにできることは何でもします..

4

1 に答える 1

0

わかりましたので、問題は同じオブジェクトの複数のインスタンスを宣言することにあることがわかりました..だから私がしなければならなかったのは、それを完全に機能させるためにシングルトン設計パターンを使用することだけでした.

多くの人がシングルトンを嫌いますが、この問題を回避する方法が他にわかりません???? どんな提案でも大歓迎です。

また、appdelegateにstoreURLを記録し、そのディレクトリをコピーしてgotoファイルに貼り付けてDBをチェックしたため、これが機能したことを知っています-次に、xcodeでsqlite dbを開きます..すべての値が完全にそこにあります。

于 2012-04-30T03:04:37.807 に答える