LPPloveROU 于 2012.10.30 13:05 提问

`````` if (hour1cloud <= 5) {
hour1weather = @"Clear";
}
if (5 < hour1cloud <= 25) {
hour1weather = @"Mostly Clear";
}
if (25 < hour1cloud <= 50) {
hour1weather = @"Partly Cloudy";
}
if (50 < hour1cloud <= 83) {
hour1weather = @"Mostly Cloudy";
}
if (83 < hour1cloud <= 105) {
hour1weather = @"Overcast";
}
``````

2个回答

g989_1314125   2012.10.30 13:34

``````- (NSString*)weatherStringFromCloud:(int)cloud {
NSString *weather;
if (cloud <= 5) {
weather = @"Clear";
} else if (cloud <= 25) {
weather = @"Mostly Clear";
} else if (cloud <= 50) {
weather = @"Partly Cloudy";
} else if (cloud <= 83) {
weather = @"Mostly Cloudy";
} else if (cloud <= 105) {
weather = @"Overcast";
} else {
weather = nil;
}
return weather;
}
``````

``````hour1weather = [self weatherStringFromCloud:hour1cloud];
hour2weather = [self weatherStringFromCloud:hour2cloud];
hour3weather = [self weatherStringFromCloud:hour3cloud];
hour4weather = [self weatherStringFromCloud:hour4cloud];
``````
Chengzi_963   2012.10.30 14:00
``````static NSString *stringForCloudiness(int cloudiness) {
static int const kCloudinesses[] = { 5, 25, 50, 83, 105 };
static NSString *const kStrings[] = { @"Clear", @"Mostly Clear", @"Partly Cloudy", @"Mostly Cloudy", @"Overcast" };
static int const kCount = sizeof kCloudinesses / sizeof *kCloudinesses;
for (int i = 0; i < kCount; ++i) {
if (cloudiness <= kCloudinesses[i]) {
return kStrings[i];
}
}
return @"A cloudiness level unparalleled in the history of recorded weather";
}
``````

``````static NSString *stringForCloudiness(int cloudiness) {
typedef struct {
int cloudiness;
__unsafe_unretained NSString *string;
} CloudStringAssociation;

static CloudStringAssociation const kAssociations[] = {
{ 5, @"Clear" },
{ 25, @"Mostly Clear" },
{ 50, @"Partly Cloudy" },
{ 83, @"Mostly Cloudy" },
{ 105, @"Overcast" },
{ INT_MAX, @"A cloudiness level unparalleled in the history of recorded weather" }
};

int i = 0;
while (cloudiness > kAssociations[i].cloudiness) {
++i;
}
return kAssociations[i].string;
}
``````
Mr_me 代码真不错，+1个支持票