rei*_*man 7 core-graphics objective-c
我在类中有一个CGSize属性,我需要检查它是否已经初始化.我知道CGSize不是一个对象,但一般来说,检查对象是否与nil不同是一样的想法.怎么做?
jer*_*e10 17
您可以将其与CGSizeZero或您认为无效的任意大小进行比较.
if (!CGSizeEqualToSize(CGSizeZero, mySize)) {
// do something
}
Run Code Online (Sandbox Code Playgroud)
这取决于你在"一堂课"中的意思.如果这是一个实例变量,那么您的问题就会结束,因为您可以保证实例变量将自动初始化为某种形式的零(即CGSizeZero).但是,如果你的意思是"在我的代码中",例如自动变量,那么就没有这样的测试; 完全取决于你在使用之前进行初始化,直到你这样做,价值可能是任何东西(对不起,但这就是C的工作原理).
总的来说,你的问题本身就是一种"难闻的气味".如果在代码中的某个时刻对您来说这个值是否已初始化是很重要的,那么您做错了.这是你的价值; 由你来初始化它(例如当你的整个对象被初始化时).或者,如果由于某种原因你需要知道你的setter是否曾被调用过,那么你需要在你的setter中添加一个布尔值来告诉它是否曾被调用过.
| 归档时间: |
|
| 查看次数: |
6772 次 |
| 最近记录: |