私は ObectiveC の初心者ユーザーなので、考えられる回答はシンプルにしてください。私は C と C++ でかなりの数の経験があります。
ここで、ObjectiveC を使用して、プロパティを使用せずに 2 つのオブジェクトを作成したいと考えています。私の質問は、「どうすれば違うのか」ではなく、「ここで何が悪いのか」です。だから私のコードがあります:
@implementation News
NSString *_title;
NSString *_excerpt;
NSString *_content;
NSString *_thumbnailURL;
NSString *_date;
-(id)initWithTitle:(NSString *)title excerpt:(NSString *)excerpt content:(NSString*)content thumbnail:(NSString *)thumbnailURL date:(NSString *)date {
self = [super init];
if (self) {
_title = [[NSString alloc] initWithString:title];
_excerpt = [[NSString alloc] initWithString:excerpt];
_content = [[NSString alloc] initWithString:content];
_thumbnailURL = [[NSString alloc] initWithString:thumbnailURL];
_date = [[NSString alloc] initWithString:date];
}
return self;
}
-(void)showData {
NSLog(@" title:%@", _title);
NSLog(@" excerpt:%@", _excerpt);
NSLog(@" thumbnailURL:%@", _thumbnailURL);
NSLog(@" date:%@", _date);
NSLog(@" getContent:%@", _content);
}
@end
ここで、2 つのオブジェクトを作成します。
News *nws = [[News alloc] initWithTitle:@"title1" excerpt:@"excerpt1" content:@"content1" thumbnail:@"thumbnail1" date:@"date1"];
News *nws2 = [[News alloc] initWithTitle:@"title3" excerpt:@"excerpt3" content:@"content3" thumbnail:@"thumbnail3" date:@"date3"];
その後、このオブジェクトの中にあるものを表示したい:
[nws showData];
[nws2 showData];
その結果、両方のオブジェクトの内部の値が同じになります。すべて「3」で終わりました。nws オブジェクトには「1」で終わる値が含まれ、nws2 には「3」で終わる値が含まれると思いました。しかし、それはそのように機能していません。なんで?エラーはどこにありますか? 助けてください、ありがとう!