【发布时间】:2013-01-11 14:21:31
【问题描述】:
我知道这可以更快,但我没有多年的编码经验,所以我只是在努力学习..
我创建了一个函数,如果不将字符串添加到 nsurl,则检查字符串是否不是 "",然后我检查 nsurl 是否不为零并将其添加到可变数组:
-(void)CheckUrls
{
self.items = [NSMutableArray array];
NSURL *URL1 ;
NSURL *URL2 ;
NSURL *URL3 ;
NSURL *URL4 ;
NSURL *URL5 ;
NSURL *URL6 ;
NSLog(@" FOTO 1: %@ \n FOTO2 : %@ \n FOTO 3 : %@ \n FOTO 4 : %@ \n FOTO 5: %@ \n FOTO 6: %@ \n",self.searchResult.foto1,self.searchResult.foto2,self.searchResult.foto3,self.searchResult.foto4,self.searchResult.foto5,self.searchResult.foto6);
if (![self.searchResult.foto1 isEqualToString:@""]) {
URL1 = [NSURL URLWithString:self.searchResult.foto1];
}
if (![self.searchResult.foto2 isEqualToString:@""]) {
URL2 = [NSURL URLWithString:self.searchResult.foto2];
}
if (![self.searchResult.foto3 isEqualToString:@""]) {
URL3 = [NSURL URLWithString:self.searchResult.foto3];
}
if (![self.searchResult.foto4 isEqualToString:@""]) {
URL4 = [NSURL URLWithString:self.searchResult.foto4];
}
if (![self.searchResult.foto5 isEqualToString:@""]) {
URL5 = [NSURL URLWithString:self.searchResult.foto5];
}
if (![self.searchResult.foto6 isEqualToString:@""]) {
URL6 = [NSURL URLWithString:self.searchResult.foto6];
}
if (URL1 !=NULL) {
[items addObject:URL1];
}
if (URL2 !=NULL) {
[items addObject:URL2];
}
if (URL3 !=NULL) {
[items addObject:URL3];
}
if (URL4 !=NULL) {
[items addObject:URL4];
}
if (URL5 !=NULL) {
[items addObject:URL5];
}
if (URL6 !=NULL) {
[items addObject:URL6];
}
这个功能可以优化吗?
【问题讨论】:
-
如果块是一些最快的构造。真的,以不同的方式做只会导致可读性/更少的代码,而不是性能。
-
用
for循环去array。 -
使用 self.searchResult.foto1.length == 0 代替 isEqualToString:@""
-
您是否在问是否可以在所需的最少代码量上进行优化或在速度方面进行优化?
-
你可以合并 2 组 if 语句
标签: objective-c xcode if-statement coding-style