我的方法旨在从输入字符串中提取游戏级别的信息。输入指定2D阵列播放区域的大小,以及2D阵列中哪些点出现了哪些项目。

例如,“4,3。a,b,c。d,e,f。g,h,i。j,k,l”将包括4列和3行,看起来像这样(不带连字符):

a --- d --- g --- j

b --- e --- h --- k

c --- f --- i --- l

该代码可以正常工作,直到出现错误的最后一行:
“在']'标记之前的预期':'”。

我已经尝试解决了一段时间,所以如果我错过了这件事,我会很尴尬!任何帮助将非常感激。

-(void)readLevelDataFromString:(NSString*)inputString {
    //remove spaces from the input
    NSString *tempString = [inputString stringByReplacingOccurrencesOfString:@" " withString:@""];

    //make mutable
    NSMutableString *levelDataString = [NSMutableString stringWithString:tempString];

    //trim first 4 characters, which we don't need
    [levelDataString deleteCharactersInRange:NSMakeRange(0, 4)];

    //separate whole string into an array of strings, each of which contains information on the particular column
    NSArray *levelDataStringColumns = [levelDataString componentsSeparatedByString:@"."];

    NSAssert([levelDataStringColumns count] == numColumns, @"In the level data string, the number of columns specified did not match the number of X tiles present.");

    NSString *columnString = [[NSString alloc] initWithString:[[levelDataStringColumns] objectAtIndex:0]];
}

最佳答案

您还有一组[]。你要:

NSString *columnString = [[NSString alloc] initWithString:[levelDataStringColumns objectAtIndex:0]];

关于objective-c - NSString “Expected ' :' before ' ]' token”错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7355856/

10-14 23:40
查看更多