質問編集履歴
3
初心者アイコンつけました
title
CHANGED
File without changes
|
body
CHANGED
File without changes
|
2
自分で代入できるところまでやりました
title
CHANGED
File without changes
|
body
CHANGED
@@ -20,12 +20,14 @@
|
|
20
20
|
### 発生している問題・エラーメッセージ
|
21
21
|
|
22
22
|
```
|
23
|
-
エラーメッセージは
|
23
|
+
エラーメッセージはありませんが、
|
24
|
+
代入した結果「aName : 山田太郎」
|
24
|
-
|
25
|
+
と表示させることはできました。
|
25
|
-
その中にプロパティを作成したのですが、
|
26
|
-
そこから実装と指定したメソッドのように
|
27
|
-
出力するにはどういったコードを書いていくのかがわかりません。
|
28
26
|
|
27
|
+
ここから上記のメソッドのように
|
28
|
+
男性の場合、「○○君は、○○が得意な○○歳です。」と表示する
|
29
|
+
女性の場合、「○○さんは、○○が得意な○○歳です。」と表示する。
|
30
|
+
と表示するにはどんなNSLogになるのかを知りたいです。
|
29
31
|
```
|
30
32
|
|
31
33
|
### 該当のソースコード
|
@@ -34,32 +36,110 @@
|
|
34
36
|
// クラスヘッダファイル(Account.h)
|
35
37
|
#import <Foundation/Foundation.h>
|
36
38
|
|
37
|
-
@interface Account : NSObject
|
39
|
+
@interface Account : NSObject{
|
40
|
+
// 名前
|
41
|
+
NSString *_name;
|
42
|
+
// 年齢
|
43
|
+
NSInteger _age;
|
44
|
+
// 性別
|
45
|
+
NSString *_gender;
|
46
|
+
// 得意な言語
|
47
|
+
NSString *_language;
|
48
|
+
}
|
38
49
|
|
50
|
+
// 名前を取得する
|
51
|
+
- (NSString *)name;
|
52
|
+
// 名前を設定する
|
39
|
-
|
53
|
+
- (void)setName:(NSString *)name;
|
40
|
-
@property (nonatomic) NSInteger age; //年齢
|
41
|
-
@property (nonatomic) NSString *gender; //性別
|
42
|
-
@property (nonatomic) NSString *language; //得意な言語
|
43
54
|
|
55
|
+
// 年齢を取得する
|
56
|
+
- (NSInteger)age;
|
57
|
+
// 年齢を設定する
|
58
|
+
- (void)setAge:(NSInteger)age;
|
59
|
+
|
60
|
+
// 性別を取得する
|
61
|
+
- (NSString *)gender;
|
62
|
+
// 性別を設定する
|
63
|
+
- (void)setGender:(NSString *)gender;
|
64
|
+
|
65
|
+
// 言語を取得する
|
66
|
+
- (NSString *)language;
|
67
|
+
// 言語を設定する
|
68
|
+
- (void)setLanguage:(NSString *)language;
|
69
|
+
|
44
70
|
@end
|
45
71
|
|
46
72
|
|
47
73
|
// クラス実装(Account.m)
|
48
74
|
#import "Account.h"
|
75
|
+
@implementation Account
|
76
|
+
// 名前を取得する
|
77
|
+
- (NSString *)name{
|
78
|
+
return _name;
|
79
|
+
}
|
80
|
+
// 名前を設定する
|
81
|
+
- (void)setName:(NSString *)name{
|
82
|
+
_name = name;
|
83
|
+
}
|
84
|
+
// 年齢を取得する
|
85
|
+
- (NSInteger)age{
|
86
|
+
return _age;
|
87
|
+
}
|
88
|
+
// 年齢を設定する
|
89
|
+
- (void)setAge:(NSInteger)age{
|
90
|
+
_age = age;
|
91
|
+
}
|
92
|
+
// 性別を取得する
|
93
|
+
- (NSString *) gender{
|
94
|
+
return _gender;
|
95
|
+
}
|
96
|
+
// 性別を設定する
|
97
|
+
- (void)setGender:(NSString *)gender{
|
98
|
+
_gender = gender;
|
99
|
+
}
|
100
|
+
// 言語を取得する
|
101
|
+
- (NSString *)language{
|
102
|
+
return _language;
|
103
|
+
}
|
104
|
+
// 言語を設定する
|
105
|
+
- (void)setLanguage:(NSString *)language{
|
106
|
+
_language = language;
|
107
|
+
}
|
49
108
|
|
109
|
+
// (ViewController.m)
|
110
|
+
import "ViewController.h"
|
111
|
+
#import "Account.h" //
|
112
|
+
|
50
|
-
@
|
113
|
+
@interface ViewController ()
|
51
114
|
@end
|
52
115
|
|
116
|
+
@implementation ViewController
|
117
|
+
- (void)viewDidLoad {
|
118
|
+
[super viewDidLoad];
|
119
|
+
// Do any additional setup after loading the view, typically from a nib.
|
53
120
|
|
121
|
+
// Personクラスのインスタンスを生成する
|
122
|
+
Account *aAccount = [Account new];
|
54
|
-
//
|
123
|
+
// nameに値を設定する
|
124
|
+
aAccount.name = @"山田太郎";
|
55
|
-
//
|
125
|
+
// nameから値を取得する
|
126
|
+
NSString *aName = aAccount.name;
|
127
|
+
|
56
|
-
|
128
|
+
NSLog(@"aName : %@", aName);
|
57
129
|
|
130
|
+
}
|
131
|
+
|
132
|
+
- (void)didReceiveMemoryWarning {
|
133
|
+
[super didReceiveMemoryWarning];
|
134
|
+
// Dispose of any resources that can be recreated.
|
135
|
+
}
|
136
|
+
|
137
|
+
@end
|
138
|
+
|
58
139
|
```
|
59
140
|
|
60
141
|
### 試したこと
|
61
|
-
クラスの作成してプロパティを作るところまでわかったのですが、
|
62
|
-
|
142
|
+
短縮されてないコードに代入してみました。
|
63
143
|
|
64
144
|
### 補足情報(FW/ツールのバージョンなど)
|
65
145
|
|
1
自分がいれているコードを記載
title
CHANGED
File without changes
|
body
CHANGED
@@ -20,41 +20,46 @@
|
|
20
20
|
### 発生している問題・エラーメッセージ
|
21
21
|
|
22
22
|
```
|
23
|
-
ググれば例文といいますか、
|
24
|
-
|
23
|
+
エラーメッセージは出ていないのですが、
|
24
|
+
Accountクラスを作成し、
|
25
|
+
その中にプロパティを作成したのですが、
|
26
|
+
そこから実装と指定したメソッドのように
|
25
|
-
|
27
|
+
出力するにはどういったコードを書いていくのかがわかりません。
|
26
28
|
|
27
29
|
```
|
28
30
|
|
29
31
|
### 該当のソースコード
|
30
32
|
|
31
33
|
```objective-c
|
32
|
-
// クラスヘッダファイル(
|
34
|
+
// クラスヘッダファイル(Account.h)
|
33
|
-
@interface Foo : NSObject
|
34
|
-
|
35
|
-
|
35
|
+
#import <Foundation/Foundation.h>
|
36
|
-
@property (nonatomic, assign) NSUInteger age;
|
37
|
-
|
38
|
-
@end
|
39
36
|
|
37
|
+
@interface Account : NSObject
|
40
38
|
|
41
|
-
|
39
|
+
@property (nonatomic) NSString *name; //名前
|
42
|
-
|
40
|
+
@property (nonatomic) NSInteger age; //年齢
|
43
|
-
|
44
|
-
@
|
41
|
+
@property (nonatomic) NSString *gender; //性別
|
45
|
-
@
|
42
|
+
@property (nonatomic) NSString *language; //得意な言語
|
46
43
|
|
44
|
+
@end
|
47
45
|
|
48
|
-
// 利用側ソース
|
49
|
-
Foo *foo = [[Foo alloc] init];
|
50
|
-
foo.name = @"Hanako"; // 代入
|
51
|
-
foo.age = 18; // 代入
|
52
|
-
NSLog(@"name: %@ age:", foo.name, foo.age); // 参照
|
53
46
|
|
47
|
+
// クラス実装(Account.m)
|
48
|
+
#import "Account.h"
|
49
|
+
|
50
|
+
@implementation Account
|
51
|
+
@end
|
52
|
+
|
53
|
+
|
54
|
+
// (main.m)
|
55
|
+
// ここに男性の場合、「○○君は、○○が得意な○○歳です。」と表示して
|
56
|
+
// 女性の場合、「○○さんは、○○が得意な○○歳です。」と表示したいです。
|
57
|
+
|
54
58
|
```
|
55
59
|
|
56
60
|
### 試したこと
|
57
|
-
|
61
|
+
クラスの作成してプロパティを作るところまでわかったのですが、
|
62
|
+
それ以降が調べてもさっぱりです、、、
|
58
63
|
|
59
64
|
### 補足情報(FW/ツールのバージョンなど)
|
60
65
|
|