Arguments by reference in Objective-C

后端 未结 5 744
孤城傲影
孤城傲影 2020-12-09 04:18

I\'m trying to pass an NSString by reference but it doesn\'t work.

This is the function:

+(void)fileName:(NSString *) file
{
    file =          


        
5条回答
  •  死守一世寂寞
    2020-12-09 04:32

    I believe you're looking for:

    + (void)fileName:(NSString **)file
    {
      *file = @"folder_b";
    }
    

    What's really done here is we're working with a pointer to a pointer to an object. Check C (yup, just plain C) guides for "pointer dereference" for further info.

    (...But as has been pointed out repeatedly, in this particular example, there's no reason to pass by reference at all: just return a value.)

提交回复
热议问题