LoginSignup
2
2

More than 5 years have passed since last update.

【iOS】CGPoint()とCGPointMake()の違い

Last updated at Posted at 2015-06-15

CGPoint()とCGPointMake()はなにが違うの?

 CGPoint()はinitメソッドではなくstructの初期化であり、CGPointMake()はそのstructの初期化を行うだけのメソッドです。
 

簡単に言うと、

  • CGPoint()は構造体
  • CGPointMake()はメソッド

です。
 

じゃあ、どっちを使えばいいんだ?

 一般的にCGPoint()を使うのが主流となっています。
 
 

ここから下は興味本意なので見なくてもいいです。

CGPointMake()メソッドはどこで定義されているのか気になったので調べた

Ruby思考なぼくは最初、CGPointのオブジェクトを生成するためのメソッドだからCGPointクラスの中に定義されている?と思った。しかし、CGPointは構造体だからメソッドが定義されているはずがない!
じゃあ、どこで定義されているんだ?

CGPointMake定義場所

CoreGraphicsを継承したCGGeometryというところに定義されていました。

 
さきほど、構造体だからメソッドが定義されているはずがないと言いましたが、 SwiftはC言語と違って構造体にプロパティだけでなくメソッドも定義できるらしいです。

構造体はプロパティも、メソッドも定義できる。じゃあ、クラスとは何が違うんだ!!?

長くなりそうなので別の記事で説明します。

2
2
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2