init signal when `viewDidDisappear`, and pop `SignalViewController` in `viewDidAppear`

the modified code is here

    override func viewDidAppear(animated: Bool) {
        super.viewDidAppear(animated)
        self.navigationController?.popViewControllerAnimated(false)

    }

    override func viewDidDisappear(animated: Bool) {
        super.viewDidDisappear(animated)

        signal = ([1,2,3,4] as NSArray).rac_sequence.signal()
        signal.subscribeNext { (e) in
            println("number \(e) from \(self)")
        }
    }

we found the output is like this

	number 1 from <RACtest.SignalViewController: 0x7c880db0>
	number 2 from <RACtest.SignalViewController: 0x7c880db0>
	number 3 from <RACtest.SignalViewController: 0x7c880db0>
	number 4 from <RACtest.SignalViewController: 0x7c880db0>
	deinit SignalViewController, and signal is <RACDynamicSignal:
0x7c8833e0> name:

`SignalViewController` was deallocated after signal complete
remove self access in closure

	signal.subscribeNext { (e) in
	    println("number \(e)")
	}

and the console output is

	deinit SignalViewConnutmrboelrl e1r
	, and signal is <RACDynamicSignal: 0x79229600> name:
	number 2
	number 3
	number 4

bingo, the subscriber retain `self`, and the `signal`, so when
`SignalViewController` was deallocated, the `signal` is not nil, and
`SignalViewController` was deallocated before subscriber complete