gpt4 book ai didi

objective-c - 如果我在使用 ARC 时未能初始化变量,clang 如何警告我?

转载 作者:行者123 更新时间:2023-12-04 02:58:11 25 4
gpt4 key购买 nike

我忘记初始化一个局部变量,而且我在使用它时没有得到任何警告。因为我使用的是 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 .这消除了警告的需要。

最佳答案

使用 ARC,指向 Objective C 对象的指针会自动初始化为 nil,因此不存在编译器可以发出警告的“未初始化值”。

关于objective-c - 如果我在使用 ARC 时未能初始化变量,clang 如何警告我?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12921422/

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