所以我有一个IBAction:
- (IBAction)yesNo {
int rNumber = rand() % 26;
switch (rNumber) {
case 0:
result.text = @"Never";
break;
case 1:
result.text = @"If you're lucky...";
break;
case 3:
result.text = @"Think twice";
break;
case 4:
result.text = @"GO!";
break;
case 5:
result.text = @"Hmmm. Try me again";
break;
case 6:
result.text = @"As I see it, yes";
break;
case 7:
result.text = @"It is certain";
break;
case 8:
result.text = @"It is decidedly so";
break;
case 9:
result.text = @"Most likely";
break;
case 10:
result.text = @"Outlook good";
break;
case 11:
result.text = @"Signs point to yes";
break;
case 12:
result.text = @"Without a doubt";
break;
case 13:
result.text = @"Yes";
break;
case 14:
result.text = @"Yes - definitely";
break;
case 15:
result.text = @"You may rely on it";
break;
case 16:
result.text = @"Reply hazy, try again";
break;
case 17:
result.text = @"Ask again later";
break;
case 18:
result.text = @"Better not tell you now";
break;
case 19:
result.text = @"Cannot predict now";
break;
case 20:
result.text = @"Shake again";
break;
case 21:
result.text = @"Don't count on it";
break;
case 22:
result.text = @"My reply is no";
break;
case 23:
result.text = @"My sources say no";
break;
case 24:
result.text = @"Outlook not so good";
break;
case 25:
result.text = @"Very doubtful";
break;
default:
break;
}
}
在应用内购买中,我想要替换result.text
值。我不想使用核心数据,因为整个应用程序都是在没有它的情况下编写的。我必须使用核心数据吗?
答案 0 :(得分:3)
在应用内购买,我想 替换result.text值。我做 不想使用核心数据,如 整个应用程序已编写 没有它。我必须使用核心 数据?
为什么你认为你需要核心数据?
在行间读取,似乎你只需要一个文本文件,每行一个结果。阅读文件并将其分解:
NSString *resultsData = [NSString stringWithContentsOfFile:...];
NSArray *results = [resultsData componentsSeparatedByString:@"\n"];
[...someController... useTheseResultsMan: results];
然后,您的yesNo
方法只会从数组中获取结果:
results.text = [[...someController... resultsToBeUsedMan] objectAtIndex: rNumber];
答案 1 :(得分:2)
您可以更轻松地使用来自plist的NSArray读取。创建2个包含所有短语的新plist,一个包含购买的数据,另一个包含另一个。
if (userHasPaid) {
NSArray *myArray = [NSArray arrayWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"myPurchasedArray" ofType:@"plist"];
} else {
NSArray *myArray = [NSArray arrayWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"myFreeArray" ofType:@"plist"];
}
然后:
- (IBAction)yesNo {
result.text = [myArray objectAtIndex:rNumber];
}
CoreData真正适用于非常大的数据集。你的场景要简单得多。