0

最も奇妙なことが起こりました。そのクラスでは何も触れていないと思いますが、突然、クラスに配列が見つからないと言われ始めました...

エラーは次のとおりです。

基本的に、baseobject (カスタム Car.h タイプ) の変更可能な配列にアクセスできません (セマンティックな問題: プロパティ objectReadyForCoreDatabase がタイプ CarPacket のオブジェクトに見つかりません (false、宣言されているため))

if([baseObject.objectsReadyForCoreDataBaseInput count]<kLenght )
            {
}

カーパケット.h

 #import <Foundation/Foundation.h>
    #import "ResponsePacket.h"

    @interface CarPacket : ResponsePacket

    @property (nonatomic, copy) NSString *objectID;
    @property (nonatomic, retain) NSMutableArray *objectsReadyForCoreDataBaseInput;
    @property (nonatomic, assign) NSInteger timeStamp;



@end

object.objectID と入力するとエラーが発生する同じページでそれは認識されますが、object.objectReadyForCoreDataBaseInput は認識されないため、奇妙です (また、突然動作を停止しました)。

アイデアがあれば教えてください...ありがとう

以前のスナップショットに復元しようとしましたが、効果はありませんでした...それでもエラーが表示されました(その日には表示されなかったことがわかっていますが)

4

1 に答える 1

2

呼び出しを行っている (そしてエラーが表示されている) コンテキストについてはあまり共有していません。とはいえ、私の推測では、呼び出し側のクラスが受信側のクラス (CarPacket) に慣れていないか、呼び出し側のクラスが baseObject が CarPacket であることを認識していません。

どこから呼び出しています?呼び出し元のクラスがヘッダーをインポートしていることを確認してください。どこから呼び出しているのかわからないので、UnknownClass 内からだとしましょう。

UnknownClass.m

#import UnknownClass.h
#import CarPacket.h // This should make your class familiar

@implementation UnknownClass

もう 1 つは、baseObject に触れているときに、UnknownClass インスタンスが CarPacket インスタンスを処理していることを認識していることを確認する必要があることです。次に例を示します。

- (void)someMethodOfUnknownClass
{

CarPacket *baseObject = (CarPacket *)baseObject; // Cast baseObject if it hasn't been declared as a CarPack in scope...

if([baseObject.objectsReadyForCoreDataBaseInput count]<kLenght )
    {
    }

}
于 2013-01-11T15:25:05.693 に答える