私はObjective-Cを初めて使用し、NSArrayの処理に問題があります。
私はこのようなクラスを持っています
@interface Tuple : NSObject
{
NSObject* dataKey;
NSObject* dataValue;
NSString* dataType;
}
@property(nonatomic, retain) NSObject* dataKey;
@property(nonatomic, retain) NSObject* dataValue;
@property(nonatomic, retain) NSString* dataType;
- (id) initWithKey:(NSObject*)dKey
type:(NSString*)dType
value:(NSObject*)dValue;
- (NSString*) description;
- (NSString*) getValueInString;
- (BOOL) getValueInBoolean;
- (NSString*) getAnswerValueInString;
- (NSArray*) getAnswerValueInArray;
@end
これが私の getAnswerValueInArray メソッドです
- (NSArray*) getAnswerValueInArray
{
NSLog(@"%@",dataValue);
NSArray* value = (NSArray*)dataValue;
if ([dataType isEqualToString:@"vague"] == NO) {
return value;
}
return nil;
}
戻り値は次のようになります ( 'KEY: 0\tTYPE: string\tVALUE = p1\n', 'KEY: 2\tTYPE: string\tVALUE = p4\n' )
しかし、配列をループしようとすると、次のようになります
for (int a=0; a<value.count; a++)
以下のエラーが表示されます。また、 [value objectAtIndes:0] を試してみたところ、同じ (String) エラーが発生しました。私の推測では、どういうわけか私の配列は実際には配列ではなく文字列であるため、配列メソッドを使用するとエラーがスローされます。しかし、実際の配列を取得するためにこれを修正する理由と方法がわかりません。
2013-02-16 14:46:52.222 [3334:907] -[__NSCFString カウント]: 認識されないセレクターがインスタンス 0x210b6e20 に送信されました
-[__NSCFString objectAtIndex:]: 認識されないセレクターがインスタンス 0x1c5e7a70 に送信されました
どんな助けでも大歓迎です。
ありがとう。