inputName ( NSMutableString ) という ivar を持つ Engine という単純なクラスを作成しました。プロパティは適切に設定されており、すべて正常に動作します。car というエンジンのインスタンスを作成して inputName を設定すると、次の警告 が表示されます。 メッセージとは別に、car.inputName にはメモリが割り当てられ、正しく初期化されています。
プロパティ (@property NSMutableString *inputName;) を宣言するときに、属性を割り当てませんでした。しかし、(strong) を追加すると、上記の警告は表示されません。strong がデフォルトの属性である場合、これはどのようになりますか?? car.inputName に文字列を与える最良の方法は何でしょうか。
#import "Engine.h"
#import <Foundation/Foundation.h>
int main(int argc, const char * argv[])
{
@autoreleasepool {
Engine *car = [[Engine alloc]init];
car.inputName = [[NSMutableString alloc]initWithString:@"Ford Escot"];
// yellow warning:Assigning retained object to unsafe property, object will be released after assignment
}
return 0;
}