クラスのサンプル
//
// Person.h
// クラスの基本
//
// Created by shodai on 2017/06/15.
// Copyright © 2017年 Mycompany. All rights reserved.
//
#import <Foundation/Foundation.h>
@interface Person : NSObject
//この1行だけで、public なアクセサが生成されている(read/write)
@property NSString* name;
//この1行だけで、public なアクセサが生成されている(read)
@property (readonly) NSString* sex;
#pragma mark Protected Methods
-(NSInteger)coutup;
@end
//
// Person.m
// クラスの基本
//
// Created by shodai on 2017/06/15.
// Copyright © 2017年 Mycompany. All rights reserved.
/*
参考
https://www.ecoop.net/memo/archives/objective-c-property-basics.html
http://qiita.com/a_ishidaaa/items/6461f62a1a12208b0c50
http://qiita.com/yuky_az/items/f2c3db2796d0a73dfde2
http://adragoona.hatenablog.com/entry/2014/06/11/182527
*/
//
#import "Person.h"
@implementation Person{
//完全にプライベートな扱いとなるインスタンス変数
NSInteger count;
}
-(id)init{
self = [super init];
_sex = @"man";
return self;
}
-(NSInteger)coutup{
count++;
return count;
}
@end
クラスを利用する側
Person* person = [[Person alloc] init ];
NSLog(@"%@",person.sex);
NSLog(@"%@",[person sex]);
//person.sex = @"woman"; コンパイルエラーになる
person.name = @"aaa";
NSLog(@"%@",person.name);
NSLog(@"%@",[person name]);
[person setName:@"bbb"];
NSLog(@"%@",person.name);
NSLog(@"%@",[person name]);
NSLog(@"%ld",[person coutup]);