zoukankan      html  css  js  c++  java
  • 误释放对象

    问题一:

    value = [array objectAtIndex:n]; //得到一个数组中的对象
    [arry removeObjectAtIndex:n]; //卸载那个对象

    因为value得到了那个对象,但是由于另外一个拥有者release了该对象,所以其实value现在成了摇摆指针(无效数据)

    问题二:

    myArray = [NSArray array];
    ...
    [myArray release];

    NSArray返回的是一个自动释放对象,不仅myArray不应该在一段时间后release,而应该在适当的时候先retain,以防止该array被系统误释放。

    问题三:

    rocket = [rocketLauncher aRocket];
    [rocketLauncher release];

    和array这种数据收集类对象一样,如果我们得到了一个类的子对象而不retain它,那么在原父类被释放的时候,这个rocket其实也会失去其意义。

  • 相关阅读:
    病毒
    最短母串
    单词
    Censoring
    玄武密码
    Keywords Search
    聚会
    异象石
    暗的连锁
    pat 1048. Find Coins (25)
  • 原文地址:https://www.cnblogs.com/zendwang/p/3716544.html
Copyright © 2011-2022 走看看