使用CGSizeMake和CGSize有什么区别? 这个比那个好吗?
CGSize(width: 360, height: 480)
和CGSizeMake(360, 480)
似乎具有相同的效果。 一个人喜欢另一个? 有什么不同?
CGSize
构造函数是CGSize
上的Swift扩展:
extension CGSize { public static var zero: CGSize { get } public init(width: Int, height: Int) public init(width: Double, height: Double) }
CGSizeMake
是一个从Objective-C桥接的剩余内联函数:
/*** Definitions of inline functions. ***/ // ... public func CGSizeMake(width: CGFloat, _ height: CGFloat) -> CGSize
两者在Swift中都具有相同的function, CGSize
构造函数比其他的更“ CGSize
”,并提供方便。
虽然作为function他们没有任何区别, CGSizeMake()
是/将被弃用。 编写和读取CGSize()
比较容易,因此Apple更喜欢使用CGSize()
作为将来的工具。
因此,如果您正在讨论可用性方面的差异,那么CGSize()
和CGSizeMake()
之间没有基本的区别。
但是,如果您正在讨论这两者之间的结构和编程差异,那么这里也是一些代码片段结构和解释。
-
CGSize()
struct CGSize { var width: CGFloat var height: CGFloat init() init(width width: CGFloat, height height: CGFloat) }
-
CGSizeMake()
func CGSizeMake(_ width: CGFloat, _ height: CGFloat) -> CGSize
说明 : –
在第一种情况下,即CGSize()
,代码清楚地表明其结构通常将高度和宽度作为CGFloat()
并且表示距离vector而不是物理尺寸。 作为一个向量,价值可能是负面的。
另一方面在CGSizeMake()
情况下,我们可以很容易地理解它的一个函数而不是一个结构。 它通常将高度和宽度作为CGFloat()
并返回一个CGSize()
结构。
例如 : –
-
CGSize()
var sizeValue = CGSize(width: 20, height: 30) //Taking Width and Height
-
CGSizeMake()
var sizeValue = CGSizeMake(20,30) //Taking Width and Height too but without named parameters
现在在纯粹的快速使用和代码CGSize()
比CGSizeMake()
更简单和容易理解的情况下。 你可以从上面的例子中得到它.. !!!!
谢谢,
希望这有助于。
- 如何快速整合PayU Money
- Swift:使用与Objective-C块兼容的闭包
- 检查电池电量iOS Swift
- Firebase(FCM)无法获取APNS令牌Error Domain = com.firebase.iid Code = 1001
- 不同的领域configuration出现在Swift应用程序中
- 更新到Xcode 8后的错误:“没有这样的模块”和“目标覆盖EMBEDDED_CONTENT_CONTAINS_SWIFT”build立设置“
- Google地图不会显示xcode8.2的新版本
- Swift语言多播委托
- 例外情况:在使用之前,Google Maps SDK for iOS必须通过进行初始化