0

我正在寻找一个允许我这样做的编译器设置:

[imageGraphEraserIcon imageByResampling:{20, 20} zoom:3];没有发出警告。现在我必须一直这样做,并且转换似乎毫无意义,因为编译器应该知道期望的类型:

[imageGraphEraserIcon imageByResampling:(CGSize){20, 20} zoom:3];

我知道“CGSizeMake”,我正在寻找一种更短、更赏心悦目的方法。

4

1 回答 1

2

虽然您构建的内容将起作用,但正确的 Objective-C 模式是:

[imageGraphEraserIcon imageByResampling:CGSizeMake(20, 20) zoom:3];

事实是 Apple 制作了编译器,如果您收到警告,则说明您“做错了”。编译器希望您编写CGSizeMake它的类型检查。因此,这就是惯例。没有理由更喜欢匿名结构。它使您的代码不那么标准,其他人更难理解您的意图。

于 2013-03-09T21:50:40.320 回答