目標是生成一個長度爲NSString的字符並將每個字符串分配給一個數組。我遇到了我需要用我的算法來獲得正確結果的問題。這是示例。我得到的結果是同樣的隨機生成的字符串添加到我的數組26次,而不是添加了26個不同的字符串。算法將隨機生成的NSString添加到NSMutableArray
我想過宣佈26個不同的NSStrings,並將算法的每個結果分配給每個字符串,但這似乎效率低下。謝謝您的幫助。
NSMutableString *string = @"expert";
NSUInteger strLength = [string length];
NSString *letterToAdd;
NSString *finishedWord;
NSMutableString *randomString = [NSMutableString stringWithCapacity: strLength];
NSMutableArray *randomArray = [[NSMutableArray alloc] init];
NSArray *charArray = [[NSArray alloc] initWithObjects: @"a", @"b", @"c", @"d",
@"e", @"f", @"g", @"h", @"i", @"j", @"k", @"l", @"m",
@"o", @"p", @"q", @"r", @"s", @"t", @"u", @"v", @"w",
@"x", @"y", @"z", nil];
for (int a = 0; a < 26; a++) {
for (int i = 0; i < strLength; i++) {
letterToAdd = [charArray objectAtIndex: arc4random() % [charArray count]];
if([randomString length] < strLength) {
[randomString insertString: letterToAdd atIndex: i];
}
finishedWord = randomString;
}
[randomArray addObject: finishedWord];
}
NSLog(@"Random Array count %i, contents: %@", [randomArray count], randomArray);
工作得很好,謝謝! – 2009-11-05 07:04:39