Foo *oFoo = [[[Foo alloc] init] autorelease];
这就是我被教导用 Objective C 编程的方式,但 CLang 错误检查器抱怨从未读取初始值。但 oFoo 是一个具有属性的对象。 oFoo 本身没有单一值。财产价值才是最重要的。
oFoo.PropertyA = 1;
oFoo.PropertyB = @"Hello, World."
我应该忽略这个吗?这值得修复吗?鉴于“初始值”在我的上下文中毫无意义,解决方法是什么?
通常这意味着:
- 您已经创建了一个变量。
- 您已为变量分配了一些值。对于它本身或它的属性来说并不重要。
- 您已经“重新创建”了该值或完成了块(方法/for-each/等)。
对于简单类型:
int a;
a = 2;
a = 3;
第一个值 (2) 从未被使用。类似的事情也可能发生在对象上,例如:
Foo *oFoo = [[[Foo alloc] init] autorelease];
oFoo.PropertyA = 1;
oFoo.PropertyB = @"Hello, World."
oFoo = [[[Foo alloc] init] autorelease];
这里第一个 alloc-init 块创建了一个被第二个 alloc-init 覆盖的值。错误告诉我们类似的事情。
我可以关闭方法实现,而不是第二个 alloc-init 块,这将是类似的。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)