不用Delegate也可以,只需要在UIViewController的viewDidAppear:方法刷新一下数据就可以了- (void)viewDidAppear:(BOOL)animated
{
    [super viewDidAppear:animated];
    
    [self.tableView reloadData];
}

解决方案 »

  1.   

    当Add新信息, 返回原来的界面时候, 会调用viewWillAppear/viewDidAppear。
    选一个方法,写上你的重新获取新数据代码。
    然后刷新一下列表。
    不用delegate
      

  2.   

    而我给你的建议是使用NSNotificationCenter“通知中心”来实现,设置ItemDetailView和ItemsView为观察者
      

  3.   

    我是新手 你说说 这里用NSNotificationCenter 好在哪里呢
      

  4.   

    你好,我现在的问题是   如果ItemDetailView用viewWillAppear来获取数据    AddItem后会crash      AddItem代码:        [sqliteHelper open];
            BOOL isSuccess = [sqliteHelper updateModel:model];
            [sqliteHelper close]; //这句还没执行完,viewWillAppear就开始读取数据库了
            
            if(isSuccess)
                [self dismissViewControllerAnimated:YES completion:nil];
            else
                NSLog(@"Update Error.");
    因为 ViewWillAppear里面也要使用数据库,会出现如注释所述问题。如果用viewDidAppear就不会,但viewDidAppear显示效果不好,数据载入是等view显示以后执行的。附上sqliteHelper close方法
    -(void)close
    {
        sqlite3_finalize(statement);
        sqlite3_close(db);
        
    }
      

  5.   

    我是新手 你说说 这里用NSNotificationCenter 好在哪里呢观察者模式是专门解决这种问题的,当一个对象发生改变时去通过其它对象(订阅者)。它的好处是"解藕",对象之间松藕合而非紧藕合
      

  6.   

    我是新手 你说说 这里用NSNotificationCenter 好在哪里呢观察者模式是专门解决这种问题的,当一个对象发生改变时去通过其它对象(订阅者)。它的好处是"解藕",对象之间松藕合而非紧藕合
    非常感谢。现在遇到的问题,[[NSNotificationCenter defaultCenter] 的 addObserver 和 removeObserver 我应该写在哪里? 没有remove会不会引起问题?  
    我分别写在Init和dealloc里,就没用,addObserver写在DidLoad里就有用。
      

  7.   

    我是新手 你说说 这里用NSNotificationCenter 好在哪里呢观察者模式是专门解决这种问题的,当一个对象发生改变时去通过其它对象(订阅者)。它的好处是"解藕",对象之间松藕合而非紧藕合
    非常感谢。现在遇到的问题,[[NSNotificationCenter defaultCenter] 的 addObserver 和 removeObserver 我应该写在哪里? 没有remove会不会引起问题?  
    我分别写在Init和dealloc里,就没用,addObserver写在DidLoad里就有用。
    ARC的项目
      

  8.   

    我是新手 你说说 这里用NSNotificationCenter 好在哪里呢观察者模式是专门解决这种问题的,当一个对象发生改变时去通过其它对象(订阅者)。它的好处是"解藕",对象之间松藕合而非紧藕合
    非常感谢。现在遇到的问题,[[NSNotificationCenter defaultCenter] 的 addObserver 和 removeObserver 我应该写在哪里? 没有remove会不会引起问题?  
    我分别写在Init和dealloc里,就没用,addObserver写在DidLoad里就有用。
    ARC的项目
    注册可写在viewdidload 里,删除可写在viewdidunload中
      

  9.   

    我是新手 你说说 这里用NSNotificationCenter 好在哪里呢观察者模式是专门解决这种问题的,当一个对象发生改变时去通过其它对象(订阅者)。它的好处是"解藕",对象之间松藕合而非紧藕合
    非常感谢。现在遇到的问题,[[NSNotificationCenter defaultCenter] 的 addObserver 和 removeObserver 我应该写在哪里? 没有remove会不会引起问题?  
    我分别写在Init和dealloc里,就没用,addObserver写在DidLoad里就有用。
    ARC的项目
    注册可写在viewdidload 里,删除可写在viewdidunload中viewdidunload 已经被废弃了..
      

  10.   

    我是新手 你说说 这里用NSNotificationCenter 好在哪里呢观察者模式是专门解决这种问题的,当一个对象发生改变时去通过其它对象(订阅者)。它的好处是"解藕",对象之间松藕合而非紧藕合
    非常感谢。现在遇到的问题,[[NSNotificationCenter defaultCenter] 的 addObserver 和 removeObserver 我应该写在哪里? 没有remove会不会引起问题?  
    我分别写在Init和dealloc里,就没用,addObserver写在DidLoad里就有用。
    ARC的项目
    注册可写在viewdidload 里,删除可写在viewdidunload中viewdidunload 已经被废弃了..
    放在dealloc里面吧?
      

  11.   

    我是新手 你说说 这里用NSNotificationCenter 好在哪里呢观察者模式是专门解决这种问题的,当一个对象发生改变时去通过其它对象(订阅者)。它的好处是"解藕",对象之间松藕合而非紧藕合
    非常感谢。现在遇到的问题,[[NSNotificationCenter defaultCenter] 的 addObserver 和 removeObserver 我应该写在哪里? 没有remove会不会引起问题?  
    我分别写在Init和dealloc里,就没用,addObserver写在DidLoad里就有用。
    ARC的项目
    注册可写在viewdidload 里,删除可写在viewdidunload中viewdidunload 已经被废弃了..
    放在dealloc里面吧?说反了吧