我对 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] 并给了我相同的(字符串)错误。我的猜测是,不知何故,我的数组并不是真正的数组而是一个字符串,因此当我使用数组方法时它会抛出错误。但我不明白为什么以及如何解决这个问题以获得一个实际的数组。
2013-02-16 14:46:52.222 [3334:907]-[__NSCFString 计数]:无法识别的选择器发送到实例 0x210b6e20
-[__NSCFString objectAtIndex:]:无法识别的选择器发送到实例 0x1c5e7a70
任何帮助将不胜感激。
谢谢。