我刚刚查看了某人的代码,我看到了一些我以前从未见过的东西:
CGSizeMake(+(rect.size.width*0.3f), +(rect.size.height*0.3f));
这似乎是一个愚蠢的问题,但我以前从未见过有人这样做过。这是否只是确保该值为正数?像 -
确保否定性?
最佳答案
他们什么都不做。他们不确保积极。他们是多余的。这是一些代码和相应的输出:
CGRect rect = CGRectMake(0, 10, 20, 20);
CGSize boo = CGSizeMake(+(rect.size.width*0.3f), +(rect.size.height*0.3f));
NSLog(@"Boo+ is %f, %f", boo.width, boo.height);
rect = CGRectMake(0, 10, -20, -20);
boo = CGSizeMake(+(rect.size.width*0.3f), +(rect.size.height*0.3f));
NSLog(@"Boo is %f, %f", boo.width, boo.height);
rect = CGRectMake(0, 10, 20, 20);
CGSize hoo = CGSizeMake((rect.size.width*0.3f), (rect.size.height*0.3f));
NSLog(@"Hoo+ is %f, %f", hoo.width, hoo.height);
rect = CGRectMake(0, 10, -20, -20);
hoo = CGSizeMake((rect.size.width*0.3f), (rect.size.height*0.3f));
NSLog(@"Hoo is %f, %f", hoo.width, hoo.height);
输出:
2013-12-30 23:16:08.446 RAACTutor[7730:1c103] Boo+ is 6.000000, 6.000000
2013-12-30 23:16:08.449 RAACTutor[7730:1c103] Boo is -6.000000, -6.000000
2013-12-30 23:16:08.451 RAACTutor[7730:1c103] Hoo+ is 6.000000, 6.000000
2013-12-30 23:16:08.452 RAACTutor[7730:1c103] Hoo is -6.000000, -6.000000
如您所见,它完全没有影响。它很可能是该 CGSizeMake 先前化身中一些更广泛计算的遗留物。
关于ios - 在数字前面加一个 + 号有什么作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20852468/