Optional型のプロパティ以外は、できるだけこの形で宣言すべきと、わたしは考えます。非Optional型で、初期値を与えない宣言。指定イニシアライザで、プロパティに値が代入されるケースに限って、非Optional型のプロパティでも、初期値をなしにできます。callというエラーが起きているのだと考えられます。Initializer)に分けられます。クラスはかならず指定イニシアライザでインスタンスを生成します。簡易イニシアライザは、それ自身ではインスタンス生成はできず、その中で指定イニシアライザを呼ぶことで、インスタンス生成を可能にしています。簡易イニシアライザは、頭にconvenienceを付します。CGRect)が指定イニシアライザです。NSCoder)が呼ばれます。イニシアライザの実行イニシアライザは、ほかの一般的なメソッドと異なる面を持ちますが、実行するコードも特殊な書式になります。newRect)このように、クラス名に直接かっこをつないだものになります。以上から、ご提示のクラスGraphicの定義コードの、ひとつの改善案はこうなります。Appleのプライベート識別子とバッティングする危険があるので、語頭にアンダーバーを付けない。}}これはあくまでひとつのアイデアです。各プロパティの役割を知らない状態で、推測に基づいて考えたものであって、それ以上のものではありません。個の銅バッジご丁寧にありがとうございます。曖昧だった部分があきらかになりました。おかげさまで無事解決いたしました。|0気になったところを1点だけ回答します。callこのエラーですが、サブクラスで定義したプロパティをすべて初期化する前に、スーパークラスのイニシャライザを呼び出しているのが原因です。optionalになっているため、暗黙的にnilで初期化されていますが、photoは宣言だけで初期化されていないためエラーになります。可能であれば、宣言と同時に初期化することをおすすめします。以下のコードで、コンパイルが通るところまでは確認しました。個の銅バッジありがとうございます。photoの要素にnilを残したのが原因だったのですね。13:36何か誤解されているように思われます。『宣言だけされて初期化されてない状態』と『nilで初期化されている状態』は別物です。一度わかってしまえばそんなに難しい概念ではないので、一度よく調べてみてください。|回答スタック・オーバーフローに参加してくれて、ありがとうございます!質問の回答を共有してください。回答を説明し、自分の検討結果も共有してください。意見を述べること(意見を述べるなら、参照リソース、自分の経験で意見をサポートしてください)さらにサポートが必要な場合このヘルプを参考してください。“回答を投稿”をクリックすることで利用規約、プライバシーポリシー、及びクッキーポリシーに同意したものとみなされます。タグが付いた他の質問を参照するか、自分で質問をする。Unwrappingと0図形のUIViewのアニメーション0UIViewのExtensionで変数を追加したい0UITextViewの下にある、UIviewに貼ったUILongPressRecognizerを認識させたい。0UIViewのアニメーションを連続で実行させるにはどうすれば良いですか。1UIViewを再描画させたい。質問のフィードこのRSSフィードを購読するには、このURLをコピーしてRSSリーダーに貼り付けてください。