2010-12-27 4 views
0

私のアプリでwebservicesを呼び出そうとしていて、コンソールでそれをチェックしている間にオブジェクトの数を表示しています(私は可変配列を使用しています)。オブジェクトの名前を表示する(ここでは、オブジェクトがlocationである)、それは私にこの行でエラーを与えている:メンバーのリクエスト構造またはユニオンでないものの名前

for (SDZArrayOfLocationWithLatestGrades* location in a) { 

NSLog(@" - %@", location.Name); // error here and a is the mutable array 

} 

ここでクラスSDZArrayOfLocationWithLatestGradesは

@implementationのSDZArrayOfLocationWithLatestGrades

です

@end

+1

'SDZArrayOfLocationWithLatestGrades'とは何ですか?どのように定義されていますか?なぜその型の変数は "場所"と呼ばれるのでしょうか? – Chuck

+0

SDZのヘッダをインポートしましたか?それは本当に名前ですか?命名規則によって、それは.nameでなければなりません。 – Eiko

+0

@Chuck:これはクラスであり、現在のクラスにインポートされます。場所は、Webサービスがパラメータを渡したときに、場所を返します。 @エイコー:それはインポートされ、私は両方の名前と名前を試しました – Ashutosh

答えて

1

最初の行SDZArrayOfLocationWithLatestGradesにおいては、現在地のオブジェクトはもちろんName性を有していない配列であることを意味します。私はあなたが何かを意味するのではないかと思う。

+0

場所の名前を返すにはどうすればいいですか? – Ashutosh

+0

"a"とは何ですか?あなたが話していた可変配列ですか?もしそうなら、それは何の配列ですか、配列の配列ですか?それともオブジェクトの配列であると思われますか?オブジェクトの配列、どのようなオブジェクトの場合は? –

+0

'a'は可変配列です。そしてそれは場所の名前を含むべきです。 – Ashutosh

0

クラスにNameプロパティが含まれているようには見えません。これはあなたがそれにアクセスできない理由です。おそらく、に含まれるオブジェクトのタイプをSDZArrayOfLocationWithLatestGradesに使用することを意図していましたか?

+0

ok ...だから私はそれのために行くべきです。 – Ashutosh

1

ドット構文では、少なくとも(つまり.Name)を使用する方法は、1)C構造体またはC共用体内の変数にアクセスするためのCコードです。配列aの内容がNameと呼ばれるプロパティを持つC構造体(または共用体)であること、または2)クラスのインスタンスの合成プロパティにアクセスするためのObjective-Cコードであることを確認します。

だからこそ、他の人がSDZArrayOfLocationWithLatestGradesの定義を求めているので、Nameという名前のプロパティが必要です。

変数(SDZArrayOfLocationWithLatestGrades)の名前から推測すると、これは配列のように思えます。 SDZArrayOfLocationWithLatestGradesがプロパティNameを持つ構造体を含む配列である場合、高速列挙型を間違って使用しています。もし上記で

for (SDZArrayOfLocationWithLatestGrades* location in a) 

(あなたは配列内の配列を格納している場合を除き)は、おそらく間違っている、*型SDZArrayOfLocationWithLatestGradesのアールの内側に置かれた変数と言っています。 SDZArrayOfLocationWithLatestGrades *を、配列aの中に格納する変数の型に置き換える必要があります。

悪い説明...うまくいけば助けます。

+0

実際には、 'SDZArrayOfLocationWithLatestGrades'が合成された' Name'プロパティを持つクラスで、 'a'がそれらのオブジェクトの配列であり、それらを高速に列挙すると、location.Nameが有効な参照になりますそのプロパティ。 '.Name'参照が構造体または共用体を参照していることを示す、または暗示するこのコードについては何もありません。 –

+0

@Matthewええ、あなたは完全に正しいです。ドット構文は、インスタンスプロパティにアクセスするためにも使用されます。私は、OP(高速列挙型の間違った型指定)のエラーの原因であったものに答えを集中させていました。私は完全性のための答えを編集しました。 – lms

関連する問題