我目前正在开发一个Objective C类ClassA
,我正在尝试实现类似于使用NSURL
的{{1}}方法- (BOOL)getResourceValue:(out id __nullable * __nonnull)value forKey:(NSString *)key error:(out NSError ** __nullable)error
的方法:
我的方法是:out id *
我希望我的方法将- (BOOL)changeString:(out id *)theString toString:(NSString *)newString
设置为(NSString *)theString
值
我的方法就像这样使用:
newString's
id inputString;
[[ClassA alloc] changeString:&inputString toString:@"New String"];
现在应该设置为“New String”(作为id *)
我如何在inputString
中执行此操作?
由于
答案 0 :(得分:0)
这很简单:
- (BOOL)changeString:(NSString * _Nonnull *)theString
toString:(NSString *)newString {
*theString = newString;
return YES;
}
并使用它:
NSString *inputString;
BOOL result = [self changeString:&inputString toString:@"Hello World"];
NSLog(@"%d - %@", result, inputString);
inputString
不一定是nil
,您甚至可以传递值
- (BOOL)changeString:(NSString * _Nonnull *)theString
toString:(NSString *)newString {
*theString = [NSString stringWithFormat: @"%@ %@", *theString, newString];
return YES;
}
NSString *inputString = @"Hello";
BOOL result = [self changeString:&inputString toString:@"World"];
NSLog(@"%d - %@", result, inputString);