私はObjective-Cの構文についてはかなり経験がありますが、Objective-Cのオブジェクト部分がどのように機能するかが不足しています(そうです、それは良くありません)。私はいくつかのことを知りたいです:
- オブジェクトを作成する方法。
- 他のクラス(つまりUIView)から特定のプロパティを継承させる方法。
- それらの中にあなた自身の特性を作る方法(すなわち、健康、ダメージ、スタミナ)。
誰かが私を助けてくれたら、私はそれを大いに感謝します。
私はObjective-Cの構文についてはかなり経験がありますが、Objective-Cのオブジェクト部分がどのように機能するかが不足しています(そうです、それは良くありません)。私はいくつかのことを知りたいです:
誰かが私を助けてくれたら、私はそれを大いに感謝します。
すでに投稿されているドキュメントを読む前に、いくつかの例を見てみましょう: クラスをインスタンス化するには:
SomeClass *instantOfSomeClass = [[SomeClass alloc] init];
プロパティを継承するには、それをサブクラス化します。カスタム プロパティを追加するには、サブクラスで指定します。
@interface SomeClassThatExtendsUIView : UIView
@property NSInteger health;
@property NSInteger damage;
@property NSInteger stamina;
@end
@implementation SomeClassThatExtendsUIView
// if not using auto synthesize
@synthesize health = _health;
@synthesize damage = _damage;
@synthesize stamina = _stamina;
@end
オブジェクトの作成方法。
オブジェクトはオブジェクト指向プログラミングの概念ですが、実際にはクラスのインスタンスとして定義できます。
必要なオブジェクトの種類に応じて、作成する方法がいくつかあります。ただし、それらはすべて単純な alloc - init で作成できます
一般的に言えば、次のようになります。
ClassName *objectName = [[ClassName alloc] init];
他のクラス (つまり UIView) から特定のプロパティを継承させる方法。
それらをサブクラス化すると、それらはプロパティを継承します。例えば:
@interface UIView : UIResponder
NSObject のサブクラスである UIResponder のサブクラスです。
@interface UIResponder : NSObject
UIView のプロパティを使用して独自の「オブジェクト」を作成したい場合は、次のようにするだけです。
@interface customView : UIView
カスタム クラスのヘッダーに.
xcode では、新しいクラスを作成するときにスーパー クラスを選択できるようにすることで、便利にサブクラス化できます。これを行うと、一般的なオーバーライド メソッドのテンプレートも提供されます。
それらの内部に独自のプロパティを作成する方法 (つまり、ヘルス、ダメージ、スタミナ)。
カスタム クラスを任意のサブクラスとして作成したら、ヘッダー ファイルに独自のプロパティを追加するだけです。
customView.h :
@interface CustomViewClass : UIView
@property (strong, nonatomic) UIButton *customButton;
- (void)someCustomMethod;
@end
次に、これを使用したいときは、
CustomViewClass *customView = [[CustomViewClass alloc] init];
カスタム ビューは、通常の UIView プロパティと customButton プロパティにもアクセスできます。
(実際の uiview クラスのデフォルト コンストラクターは initWithFrame ですが、この方法で初期化して後でフレームを設定することもできます) UIView 宣言をコマンド クリックすると、次のように表示されます。
- (id)initWithFrame:(CGRect)frame; // default initializer
お役に立てれば