Objectの生成時に自動的に呼ばれるメソッドを作成いたしました。
/**
* イニシャライズな処理(コンストラクタ相当)
*/
- (id)init
{
if(self == [super init]) {
// 初期化処理をここに記述
}
return self;
}
initクラスを作成すると、生成時に呼ばれます。
■サンプルソース
新規ファイルでTestClassを作成
hファイル
#import <Foundation/Foundation.h>
@interface TestClass : NSObject{
}
@property(weak,nonatomic)NSString* sText;
-(id)init;
-(void)test;
@end
mファイル
#import "TestClass.h"
@implementation TestClass
/**
* 初期化処理(コンストラクタ相当)
*/
- (id)init
{
if(self == [super init]) {
// 初期化が成功したので初期化処理を行う
_sText = @"コンストラクター";
}
return self;
}
-(void)test{
_sText = @"普通のクラス";
}
@end
ViewController
mファイル
- (void)viewDidLoad
{
id obj = [[TestClass alloc] init];
NSLog(@"%@", [obj sText]);
[obj test];
NSLog(@"%@", [obj sText]);
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
}
Logに注目すると、
初期のログの文字列が変更された事が
わかると思います。
0 件のコメント:
コメントを投稿