我试图将一个 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);
}
我不知道我的语法是否正确。我想存储thingIn
在 ivar 中。当前错误是
passing address of non-local object to __autoreleasing parameter for write-back
这有可能吗,如果可以,怎么做?
注意:这被认为是一个坏主意,因为它破坏了封装。我只会在非常本地的情况下使用它。
注意:ivar 被定义为__strong NSString* thing
(strong 只是为了清楚起见)。