【发布时间】:2012-10-06 22:47:40
【问题描述】:
我忘记初始化一个局部变量,使用它时没有收到任何警告。由于我使用的是ARC,因此变量被初始化为nil,所以没有造成任何伤害,但是当我使用未初始化的值时,我仍然需要一个警告。如果我禁用 ARC,我会收到预期的警告。
NSString *foo;
NSString *baz;
if (bar) {
foo = @"fizz";
} else {
foo = @"buzz";
}
NSLog(@"foo: %@", foo); // foo: (fizz|buzz)
NSLog(@"baz: %@", baz); // baz: (null)
没有 ARC:
/blah/blah/blah/Blah.m:14:18: note: initialize the variable 'foo' to silence this warning
NSString *foo;
^
--编辑--
I've figured out how to make uninitialized values impossible using local blocks。这样就不需要警告了。
【问题讨论】:
标签: objective-c automatic-ref-counting clang clang-static-analyzer