Objective-CプロジェクトでCスタイルの構文を見つけるのが混乱しています(たとえば、以下の構文はObjective-Cでメソッドが定義されている方法ではありません)。私はエラーなしでコンパイルしたコード以来これが動作することは明らかですが、どうやって、なぜこのコードは普通のObjective-C .h、 .mファイルです。誰かがこれがどのようにして説明できるか?Objective-CコードをCスタイルの構文で記述できますか?
CGColorSpaceRef colorSpace = CGColorSpaceCreateDeviceRGB();
//use of round brackets
void drawLinearGradient(CGContextRef context, CGRect rect, CGColorRef startColor,
CGColorRef endColor);
// C style syntax for passing params
もこれは私がこれまで見てきたコアグラフィックスコードの周りに非常に具体的で、それは... CGコードでこのもまたはファイルだけのような定期的なObjective-Cのメソッドを書くことが許されているのですか?
は、親指の任意のガイドラインやルールがあります。 (例えば、メモリ管理、キャスティング)など – dotnetcoder
とは、私はobjective-cクラスを書くことができ、その中にc-styeメソッドを持つことができます。 – dotnetcoder
すべてのObjective-Cコードがそのような "ミックス"であるため、Objective-Cのルールを超えたものはありません。 Obj-Cオブジェクトは通常のポインタであり、そのまま扱うことができます。 ARC(https://developer.apple.com/library/ios/#documentation/Cocoa/Conceptual/MemoryMgmt/Articles/mmRules.htmlを参照)を使用していない場合は、Obj-Cの所有権ルールに注意して使用してください必要に応じてObj-C APIを使用します。たとえば、Obj-Cオブジェクトでfree()を呼び出さない場合は、releaseメソッドを使用します。 – davehayden