今天搞了一下ios的跳轉問題和數據傳遞的問題!
ios的傳遞,有好幾種,目前我只接觸到兩種,還有沒有其他的得在以后的學習中我才能完善了!
下面是第一種!另附網絡上找到的一個小例子:
一種其實和ios開發中的"觀察者"模式很相似----那就是NSNotificationCenter
在說這個之前,得提前說明一下"觀察者"是什么來,在ios里,道先是觀察者想要觀察消息中心里的消息,那么就必須在消息中心里加入注冊,可以用以下語句進行注冊
// 第一個參數為self,表示將self設為觀察者來觀察通知,
// 第二個參數@selector(setData:)表示收到符合條件的通知后要執行方法setData:
// 第三個參數kNotificationMessage為指定的要觀察的通知的名稱,一般可為NotificationMessage;
// 第四個參數為nil,表示任何對象發過來的通知都可以被觀察到
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(setData:) name:kNotificationMessage object:nil];
注冊完成后,當消息中心有數據響應時,會響應setData方法.可以看參數說明.
至於發送信息的話,如下:
// 第一個參數表示發出的通知的名稱
// 第二個參數表示誰發出的通知
// 第三個參數表示通知所帶的信息
[[NSNotificationCenter defaultCenter] postNotificationName:kNotificationMessage object:self userInfo:infoDict];
還有一點要先說明的,使用者要先注冊,信息響應再響應,然后觀察者才會接收,順序如下:
注冊---->發送信息----->接收
這樣才能生效.demo代碼:(http://files.cnblogs.com/chiefCTO/MyNotificationSample.zip)
第二種,第二種好理解,我就不多說,直接給demo不懂的可以留言:
demo:(http://files.cnblogs.com/chiefCTO/DelegateSample.zip)
下面講跳轉,我知的不多,直接代碼:
第一:
ValueInputView *valueView = [[ValueInputView alloc] initWithNibName:@"ValueInputView"bundle:[NSBundle mainBundle]];
valueView.delegate = self;
[self setModalTransitionStyle:UIModalTransitionStyleCoverVertical];
[self presentModalViewController:valueView animated:YES];
第二:
[self.navigationController pushViewController:mainView animated:YES];