您可以通過使用命名的常量,而不是幻數
typedef NS_ENUM(NSInteger, Heading) {
HeadingNorth = -1,
HeadingNorthEast,
HeadingEast,
HeadingSouthEast,
HeadingSouth,
HeadingSouthWest,
HeadingWest,
HeadingNorthWest
};
增加可讀性你可以比改變你的switch語句
Heading heading = floor((trueHeadingRounded - 23)/45);
NSString *cardinalDirection;
switch (heading) {
case HeadingNorth: cardinalDirection = @"north"; break;
case HeadingNorthEast: cardinalDirection = @"northeast"; break;
case HeadingEast: cardinalDirection = @"east"; break;
case HeadingSouthEast: cardinalDirection = @"southeast"; break;
case HeadingSouth: cardinalDirection = @"south"; break;
case HeadingSouthWest: cardinalDirection = @"southwest"; break;
case HeadingWest: cardinalDirection = @"west"; break;
case HeadingNorthWest: cardinalDirection = @"northwest"; break;
}
NSLog(@"%@", cardinalDirection);
好點。我評論了我的所有代碼,所以可理解性不是問題(我希望)。我只是不喜歡在我的項目中有大約30行代碼,最多可以縮短到4行。 –