Hea*_*ers 2 objective-c clang clang-static-analyzer automatic-ref-counting
我忘记初始化一个局部变量,我在使用它时没有收到警告。由于我使用的是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)
Run Code Online (Sandbox Code Playgroud)
没有 ARC:
/blah/blah/blah/Blah.m:14:18: note: initialize the variable 'foo' to silence this warning
NSString *foo;
^
Run Code Online (Sandbox Code Playgroud)
- 编辑 -
我已经想出了如何使用 local blocks 使未初始化的值变得不可能。这消除了警告的需要。
| 归档时间: |
|
| 查看次数: |
1922 次 |
| 最近记录: |