Я очень новичок в Objective-C, и у меня возникла проблема с NSArray.Преобразование NSString в 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: строка \ 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
Любая помощь будет принята с благодарностью.
Спасибо.
В цикле for 'значение' является' NSString'. Покажите, как цикл for получает его значение, то есть соединение между методом getAnswerValueInArray и циклом for. – zaph
Hi Zaph, Спасибо за ответ. Я использую что-то вроде этого. NSArray * selectedAnswer = [qtn.getAnswer getAnswerValueInArray]; if (selectedAnser! = nil) {(для int a = 0; a
eatToCode