我對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;
}
返回值看起來像這樣 (「鍵: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年2月16日14:46:52.222 [3334:907] - [__ NSCFString計數]:無法識別的選擇發送到實例0x210b6e20
- [__ NSCFString objectAtIndex:]:無法識別的選擇發送到實例0x1c5e7a70
任何幫助將不勝感激。
謝謝。
在for循環中,'value'是一個'NSString'。顯示for循環如何獲取它的值,即getAnswerValueInArray方法和for循環之間的連接。 – zaph 2013-02-16 04:14:59
嗨Zaph, 感謝您的回覆。我使用這樣的東西。 NSArray * selectedAnswer = [qtn.getAnswer getAnswerValueInArray];如果(selectedAnser!= nil){(for int a = 0; a
eatToCode
2013-02-16 04:23:50