我正在尝试创建一个人们回答问题的游戏。我正在从文本文件中加载问题。不同的部分用 • 分隔,问题用 § 分隔。用于分离的代码工作正常,除非我尝试用它创建问题。
for(int n = 0; n<[questionsFromFile count]; n++)
{
NSArray *params = [((NSString *)questionsFromFile[n]) componentsSeparatedByString:@"•"];
NSString *fact = params[0];
NSString *prompt = params[1];
NSString *image = params[2];
NSString *answerAsString = params[3];
BOOL answer = [answerAsString boolValue];
YNQuestion *question = [[YNQuestion alloc]initWithFact:fact prompt:prompt image:image answer:answer];
[self.allQuestions addObject:question];
}
在 questions.txt 中:
fact•prompt•unknown.png•YES
§fact•prompt•unknown.png•NO
当我运行它时,它工作正常,直到加载一个问题。然后,它与EXC_BAD_ACCESS(code=2)
. 如果我将事实、提示、图像等替换为等于 @"hello" 或 @"goodbye",它可以正常工作。
我正在使用 ARC。另外,这里是YNQuestion
.
@interface YNQuestion : NSObject
@property(assign, nonatomic)NSString *fact;
@property(assign, nonatomic)NSString *prompt;
@property(assign, nonatomic)NSString *image;
@property(assign, nonatomic)BOOL answer;
-(id)initWithFact:(NSString *)fact prompt:(NSString *)prompt image:(NSString *)image answer: (BOOL) answer;
-(BOOL)checkIfCorrect: (BOOL)answer;
@end
现在,它起作用了。只有那些不是我默认的。
惊喜!它不再起作用了。我相信错误在于 .txt 文件中有硬编码的答案和答案。我正在测试。