我用AFNetworking的post方式解析了json数据,在success中进行了操作,为什么我在外部定义的全局变量在success块中进行赋值操作,之后赋给的值又会变回去。也就是说在使用post方式的函数外部定义了一个变量
var a: String = "1234"
然后在succes中进行
{
    a = "1234567"
}的操作,之后我再另一个函数中print a 出来,值还是1234,有大神知道是怎么回事么,实在想不通。

解决方案 »

  1.   

    你的print是不是在UI界面更新的?POST方法会主动创建一个子线程,但是所以你更新a的值也是在子线程,但是如果想要在UI界面上吧a的值也更新,必须到主线程上才能更新。。
      

  2.   

    能举个例子么,我对线程不理解你先去了解了解进程和线程的概念
    然后IOS里面,更新UI界面必须在主线程中进行,子线程是不能更新UI界面的,所以,你在success里面更新UI界面是无效的,但是如果你在success里面吧更新UI的代码放到主线程中,就能更新UI界面了。
      

  3.   

    能举个例子么,我对线程不理解你先去了解了解进程和线程的概念
    然后IOS里面,更新UI界面必须在主线程中进行,子线程是不能更新UI界面的,所以,你在success里面更新UI界面是无效的,但是如果你在success里面吧更新UI的代码放到主线程中,就能更新UI界面了。实在是看不懂。我是新手,怎么放进主线程啊
      

  4.   

    能举个例子么,我对线程不理解你先去了解了解进程和线程的概念
    然后IOS里面,更新UI界面必须在主线程中进行,子线程是不能更新UI界面的,所以,你在success里面更新UI界面是无效的,但是如果你在success里面吧更新UI的代码放到主线程中,就能更新UI界面了。实在是看不懂。我是新手,怎么放进主线程啊自己网上找找看吧,ios子线程更新UI的方法,我只会Objective-c,不会swift。。
      

  5.   

    能举个例子么,我对线程不理解你先去了解了解进程和线程的概念
    然后IOS里面,更新UI界面必须在主线程中进行,子线程是不能更新UI界面的,所以,你在success里面更新UI界面是无效的,但是如果你在success里面吧更新UI的代码放到主线程中,就能更新UI界面了。实在是看不懂。我是新手,怎么放进主线程啊自己网上找找看吧,ios子线程更新UI的方法,我只会Objective-c,不会swift。。好吧,谢谢你了