zoukankan      html  css  js  c++  java
  • Passing address of non-local object to __autoreleasing parameter for write-back

    在希望通过函数的參数返回Objective-C对象的时候。遇到了这个问题

    错误代码例如以下:

    - (void)methodA:(NSString **)string<span style="white-space:pre">	</span>// 事实上。这里的參数实际类型是:(NSString * __autoreleasing * )string
    {
        *string = XXX;
    }

    正确的使用方法是

    - (void)methodA:(NSString * __strong *)string
    {
        *string = XXX;
    }


    调用的时候:

    NSString *strongString;
    [object methodA:&strongString];



    Ref:

    1.

    http://blog.csdn.net/chuanyituoku/article/details/17371807

    我的这篇文章的最后部分:

    Returning a Result as the Argument
    有具体介绍 (看过一遍、而且理解 事实上是远远不够的。要吃过苦头才干记牢。。。)


    2.

    http://codego.net/402513/

  • 相关阅读:
    最全前端面试题
    经常犯的思维误区
    鸿蒙系统发布会
    前端面试题
    怎么做一个竖排文字?
    canvas-台球玩法
    canvas-自由落体球
    canvas-画一颗心
    canvas-学写字
    常用的65条正则表达式
  • 原文地址:https://www.cnblogs.com/cxchanpin/p/6732927.html
Copyright © 2011-2022 走看看