【发布时间】:2012-06-08 18:57:48
【问题描述】:
在下面的代码中,我想知道 viewTransform 结构是否被初始化,以确定是否旋转我的视图。所以我把viewTransform 做成了一个指针,而不仅仅是一个普通的变量。
这是一种好的编程习惯,还是有一些潜在的警告?
如果必须,我可以改为声明 BOOL 以跟踪 viewTransform 是否已初始化。
- (void)deviceOrientationDidChange
{
UIDeviceOrientation deviceOrientation = [[UIDevice currentDevice] orientation];
CGAffineTransform *viewTransform = NULL;
if (deviceOrientation == UIDeviceOrientationPortrait)
{
*viewTransform = CGAffineTransformIdentity;
}
else if (deviceOrientation == UIDeviceOrientationPortraitUpsideDown)
{
*viewTransform = CGAffineTransformMakeRotation(M_PI * 1.0f);
}
else if (deviceOrientation == UIDeviceOrientationLandscapeLeft)
{
*viewTransform = CGAffineTransformMakeRotation(M_PI * -0.5f);
}
else if (deviceOrientation == UIDeviceOrientationLandscapeRight)
{
*viewTransform = CGAffineTransformMakeRotation(M_PI * 0.5f);
}
if (viewTransform != NULL)
{
for (UIView *view in self.autoRotateViews)
{
[view setTransform:(*viewTransform)];
}
}
}
【问题讨论】:
-
没有点赞?没有接受的答案?
标签: objective-c c pointers struct null