同一cocos2dx的對象先retain再release的注意事項

    /** 以下爲cocos2dx原碼 先執行的是release,如果_data[index]與object是一個東西且ref等1

    問題就來了,先刪了_data[index],再retain崩潰*/

    void replace(ssize_t index, T object)

    {

        CCASSERT(index >= 0 && index < size(), "Invalid index!");

        CCASSERT(object != nullptr, "The object should not be nullptr");

        

        _data[index]->release();

        _data[index] = object;

        object->retain();

    }

應改爲先retain再release

         object->retain();                        

        _data[index]->release();

        _data[index] = object;

        

以上點,引用object基礎編程



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章