在文字和标识符objective-c之外不允许使用非ASCII字符

时间:2015-05-19 06:50:36

标签: ios objective-c identifier literals non-ascii-characters

我收到错误,因为'不允许在文字和标识符之外使用非ASCII字符。以下是代码:

- (void)purchaseMyProduct:(SKProduct *)product {

    if ([self canMakePurchases]) {
        SKPayment *payment = [SKPayment paymentWithProduct:product];
        [[SKPaymentQueue defaultQueue] addTransactionObserver:self];
        [[SKPaymentQueue defaultQueue] addPayment:payment];
    }
    else{
        UIAlertView *alertView = [[UIAlertView alloc] initWithTitle: @"Purchases are disabled in your device" message:nil delegate: self cancelButtonTitle:@"Ok" otherButtonTitles: nil];

        [alertView show];
    }
}

Screenshot

我在 else block 上收到此错误。我试过删除空格但没有用。我哪里错了?

1 个答案:

答案 0 :(得分:5)

删除包含else的行(完全删除它,包括换行符),然后再次手动输入,然后再清理并再次构建。

当您从富文本源(例如网站)复制和粘贴代码时,Xcode有时会错误处理插入空格的方式,并且插入unicode空格而不是普通空格,并且编译器无法识别这些空格。完全删除该行并手动重新键入它可以解决此问题,因为删除了违规字符。