ivar ポインターをメソッドに渡してから、その ivar に値を配置しようとしています。
static void placeThis(NSString *thingIn, NSString **here) {
*here = thingIn;
}
- (void) placeThis:(NSString *)thingIn inHere:(NSString **)here {
*here = thingIn;
}
- (void) place:(NSString*)thingIn {
[self placeThis:thingIn inHere:&thing];
placeThis(thingIn, &thing);
NSLog(@"How did that go? %@", thing);
}
構文が正しいかどうかはわかりません。ivarに保存したいthingIn
。現在のエラーは
passing address of non-local object to __autoreleasing parameter for write-back
これは可能ですか?
注:これはカプセル化を壊すため、悪い考えと見なされます。これは非常にローカルなコンテキストでのみ使用します。
注: ivar は次のように定義されます__strong NSString* thing
(strong はわかりやすくするためだけです)。