解决方案 »

  1.   

    简单的说就是如何在另一个类中刷新一个UIViewController中的界面。我在UIViewController类中已经写好了刷新的方法,但是不知道怎么从另一个类中调用。因为没有看到对象和指针啊这些,都是系统自动生成的
      

  2.   

    你要刷新的那个UIViewController是在当前UIViewController中创建的吗?如果不是,是在哪里创建的?
      

  3.   

    我不是自己创建的,是系统自带的。我创建了一个singleViewController的工程。一出来就有一个UIViewController的类,可视化界面中也有一个关联的初始界面。我直接拖控件进去,然后在类里面实现一些功能。但是现在如果我想去另外一个类里面调用这个类的刷新什么的不知道怎么调用了
      

  4.   

    我这些都不是代码实现。直接在一个界面中按住control键拖动一个按钮到另一个UIViewController。然后运行就可以按下这个按钮跳到另一个UIViewController了。这样的情况下,我好想也没有创建对象。但是界面中的功能都可以实现。就是在另外一个不相关的类中想调用刷新这个类时就不知道怎么弄了
      

  5.   

    这是观察者模式的一种体现,当一个对象发生改变时去通知它的所有订阅者。
    在iOS中,你可以使用“通知中心” NSNotificationCenter来实现在需要接收通知的类中添加观察者
    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(receivedNotif:) name:@"ReloadView" object:nil];-(void)receivedNotif:(NSNotification *)notification {
            ///////to do.....
    }在需要发送通知的类中
    [[NSNotificationCenter defaultCenter] postNotificationName:@"ReloadView" object:nil];注册发送通知及接收通知是通过 notificationName来建立的关联。
      

  6.   

    真是太感谢你了。我试验了一下,确实能解决我的问题。但是觉得好像还是不够严谨。我是通过storybroad实现的这些界面。通过你的方法我确实可以在别的类或者别的界面中发送通知刷新另一个界面。但是最终我都没看到或者没找到这些界面的对象或者引用,总觉得不踏实,跪问大神还有没别的方法或者可以直接调用到这些界面的对象的。
      

  7.   


    指针的引用是一种强引用,这样两个对象之间建立了依赖。在面向对象的设计思想下,我们是要的是松藕合,观察者模式是一种很好的解决当一个对象发生变化时去通知另外的其它对象的设计。这是多么好的一种设计,只是你还不太懂而已
    如果你是刚入门的话,通知是一个很好的解决办法,你并不需要考虑太多的内存管理问题,只是注意在不需要的时候,要将这个通知释放掉
    [[NSNotificationCenter defaultCencter] removeObserver:self]
      

  8.   


    指针的引用是一种强引用,这样两个对象之间建立了依赖。在面向对象的设计思想下,我们是要的是松藕合,观察者模式是一种很好的解决当一个对象发生变化时去通知另外的其它对象的设计。这是多么好的一种设计,只是你还不太懂而已
    这是一个问题,在定义一个通知的时候必须要有接收方是不是。就是addObserver方法的第一个参数。我有几个窗口。每个窗口中都要建立一些通知,而且这些通知要一启动就建立。但是不知道怎么再启动的地方获取每个窗口的指针,就不知道怎么定义addObserver方法的第一个参数啊。
      

  9.   


    指针的引用是一种强引用,这样两个对象之间建立了依赖。在面向对象的设计思想下,我们是要的是松藕合,观察者模式是一种很好的解决当一个对象发生变化时去通知另外的其它对象的设计。这是多么好的一种设计,只是你还不太懂而已
    如果你是刚入门的话,通知是一个很好的解决办法,你并不需要考虑太多的内存管理问题,只是注意在不需要的时候,要将这个通知释放掉
    [[NSNotificationCenter defaultCencter] removeObserver:self]
    说到释放我想问大神一个问题啊,IOS7编程,就是最新的XCODE5里面是不是都是默认释放内存的。不用我们手动实现的
      

  10.   


    指针的引用是一种强引用,这样两个对象之间建立了依赖。在面向对象的设计思想下,我们是要的是松藕合,观察者模式是一种很好的解决当一个对象发生变化时去通知另外的其它对象的设计。这是多么好的一种设计,只是你还不太懂而已
    如果你是刚入门的话,通知是一个很好的解决办法,你并不需要考虑太多的内存管理问题,只是注意在不需要的时候,要将这个通知释放掉
    [[NSNotificationCenter defaultCencter] removeObserver:self]
    说到释放我想问大神一个问题啊,IOS7编程,就是最新的XCODE5里面是不是都是默认释放内存的。不用我们手动实现的ios自从引入arc后,我们就可以使用自动内在管理了,当然你也可以选择自己管理内存。所谓的自动管理,其实是在代码编译阶段,编译器会自动为我们创建的对象添加 autorelease or release 消息 。
      

  11.   

    1.你可以用通知处理:如果这个视图控制器没有直接联系
    2.你可以用委托(也就是回调处理):如果a视图对象是在b视图对象中创建,可以将b作为a的委托进行回调信息处理
    3.你也可以用block语句块(也属于回调)
      

  12.   

    恩,委托和block语块还不太清楚,我要再去学习下,谢谢了。