gra*_*aci 2 object objective-c pass-by-reference pass-by-value
所以我有类似的东西:
- (void) printString:(NSString *)string
{
NSLog(@"%@", string);
}
NSString *string = @"Blach";
[self printString:string];
Run Code Online (Sandbox Code Playgroud)
会string
被价值或参考传递吗?像NSError这样的东西怎么样?
NSError *error = [NSError errorWithDomain:someDomain
code:-101
userInfo:someInfo];
-(NSString *) doSomething:(BOOL) val withError:(NSError **)error {
if(!val)
{
*errorPtr = [NSError errorWithDomain:something
code:-101
userInfo:someInfo];
}
}
Run Code Online (Sandbox Code Playgroud)
你永远不能通过指针以外的任何东西来引用Objective-C对象,所以对于所有意图和目的,一切都是通过引用传递的.也就是说,实际的指针值是按值传递的,就像在C中一样.
归档时间: |
|
查看次数: |
256 次 |
最近记录: |