檢索值當我的NSLog我的NSMutableArray,我所得到的是以下如何從下面的NSMutableArray
{ ABSNFGH True,
FDGJDKG False
GFKFLDL True
PDHJHN True
FHKDMD True
DSHDMD False)
的問題是,我沒有創建此數組。但我想將每個條目(例如ABSNFGH)存儲在一個字符串中,並將其相應的狀態存儲在for循環中的bool中。我怎樣才能做到這一點?
檢索值當我的NSLog我的NSMutableArray,我所得到的是以下如何從下面的NSMutableArray
{ ABSNFGH True,
FDGJDKG False
GFKFLDL True
PDHJHN True
FHKDMD True
DSHDMD False)
的問題是,我沒有創建此數組。但我想將每個條目(例如ABSNFGH)存儲在一個字符串中,並將其相應的狀態存儲在for循環中的bool中。我怎樣才能做到這一點?
假設我們命名您的數組作爲yourArray
yourArray -> { ABSNFGH True,
FDGJDKG False,
GFKFLDL True,
PDHJHN True,
FHKDMD True,
DSHDMD False }
您需要添加這個循環:
for(int i = 0; i<[yourArray count];i++)
{
NSArray *array = [[yourArray objectAtIndex:i] componentsSeperatedByString:@" "];
if([array count]>1)
{
NSString *stringValue = [array objectAtIndex:0];
BOOL val = [[array objectAtIndex:1] boolValue];
}
}
我認爲這應該工作。我沒有嘗試過個人實施,但可能會這樣做。
編輯:
yourArray最好應該是這樣的:
(
{
stringVal = 'ABSNFGH'
boolVal = True
},
{
stringVal = 'FDGJDKG'
boolVal = False
},
{
stringVal = 'GFKFLDL'
boolVal = True
}
)
參考此鏈接。在這裏你只需要用NSDictionary
代替object
,就完成了。
Making an array of Objects in Objective-C.
在這裏,我已經修改了從該鏈接ennuikiller的回答,讓你瞭解你的情況:
@interface控制器
NSMutableArray *yourArray;
@end
@implementation Controller
-(void) viewDidLoad {
................
NSMutableArray *yourArray = [NSMutableArray initWithCapacity:40];
}
-(IBAction)doSomeWork
{
NSDictionary *object = [[NSDictionary alloc] init];
[object setValue:@"ASDFG" forKey:@"stringVal"];
[object setBool:False forKey:@"boolVal"];
[yourArray addObject:object];
}
@end
希望這有助於。
儘管你需要使用'BOOL val = [[array objectAtIndex:1] boolValue]' – ikuramedia 2012-03-23 05:46:00
@ikuragames:這個應該可以工作,如果原始數組包含字符串的話,我現在編輯了我的答案。我可以將這種數組想象成'yourArray'。更好的選擇可能是將'yourArray'作爲字典數組,每個字典包含一個字符串和相關的BOOL值。但正如讓·保羅·斯科特所說的那樣,他不是在創造這個陣列,這是唯一可以解決的方法。再次感謝! – 2012-03-23 05:53:43
你能解釋一下我怎麼能把'yourArray'作爲字典數組。這將非常有幫助。我希望你可以加上你的答案。 – 2012-03-23 06:15:32
您是否可以將實際的NSLog輸出剪切並粘貼到問題中?沒有逗號和NSLog的其他分隔符,數據的結構是不清楚的。 – danh 2012-03-23 05:48:31