在应用购买问题

时间:2011-06-13 18:19:10

标签: iphone objective-c ios4 core-data

所以我有一个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值。我不想使用核心数据,因为整个应用程序都是在没有它的情况下编写的。我必须使用核心数据吗?

2 个答案:

答案 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真正适用于非常大的数据集。你的场景要简单得多。