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)];
}
}
}