gpt4 book ai didi

objective-c - 使用 Xcode 5 禁用 ARC

转载 作者:行者123 更新时间:2023-12-02 06:35:45 27 4
gpt4 key购买 nike

在 Xcode 5 之前的版本中,我们可以在创建项目时在项目设置中禁用 ARC。现在 ARC 给我造成了这个问题。

对于属性列表文件,对于读取步骤,编译器会给我一个错误:“ARC 不允许将‘int’隐式转换为‘id’”。我在 Xcode 4 中使用相同的代码时没有遇到这个问题。在我的属性列表文件中,键是数字,在我的 viewController.m 中也是如此。当我不允许目标使用 ARC 时,警告仍然存在。

我不知道如何添加编译器标志。代码(带法语字符串):

NSString *error;
NSString *rootPath = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0];


NSString *plistPath = [rootPath stringByAppendingPathComponent:@"Save.plist"];

NSArray *keys = [NSArray arrayWithObjects:@"valeurCompteur1", @"valeurCompteur2", @"valeurCompteur3", @"valeurCompteur4", @"valeurCompteur5", @"nomCompteur1", @"nomCompteur2", @"nomCompteur3", @"nomCompteur4", @"nomCompteur5", nil];

NSArray *objs = [NSArray arrayWithObjects: compteur1, compteur2, compteur3, compteur4, compteur5, nameC1, nameC2, nameC3, nameC4, nameC5, nil];

最佳答案

如果您想要手动引用计数(使用保留和释放),您可以在build设置中禁用 ARC。

在项目导航器中选择项目。编辑器区域应该显示一个包含四个选项卡的 View :信息、build设置、构建阶段、构建规则。选择build设置。

在这四个标题的左侧,应该有一个下拉列表,用于选择您想要的目标。选择您不需要 ARC 的目标。

向下滚动找到标题为“Apple LLVM 5.0 - 语言 - Objective-C”的部分。下面是三个设置。最下面的应该是“Objective-C Automatic Reference Counting”。将其设置为“否”,您将进行手动引用计数。

但是,修复所报告的问题可能是更好的选择。使用 ARC 总比不用好。

修复错误

你说你的错误发生在你创建 obis 数组的那一行。这意味着以下一个或多个变量是 int 而不是对象:

compteur1, compteur2, compteur3, compteur4, compteur5, nameC1, nameC2, nameC3, nameC4, nameC5

如果你想把一个整数放入一个数组,你必须把它装箱成​​一个NSNumber,例如

NSArray* anArray = [NSArray arrayWithObjects: [NSNumber numberWithInt: 2], nil];

现在有一种速记形式,看起来像这样:

NSArray* anArray =  @[ @(2) ];

关于objective-c - 使用 Xcode 5 禁用 ARC,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19638226/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com