極客班Objective-C實戰(zhàn)第二周課堂筆記

第二周的課程好多,內(nèi)容也好多氮采,其中很多的東西自己還沒有徹底搞明白体捏,所以筆記就記一下第二周作業(yè)中的思考好啦,畢竟第二周作業(yè)中對于基礎一般的萌新來說還是有一些花時間的梗摇。


第二周的作業(yè)首先要在Interface Builder中創(chuàng)建好四個ViewController拓哟,同時把四個ViewController的類文件創(chuàng)建好,接著在Interface Builder中把每個VC(ViewController)的控件都擺放好伶授,并使用Button做一個跳轉(zhuǎn)按鈕断序。跳轉(zhuǎn)按鈕就是直接Control?鼠標左鍵將Button鏈接到下一個VC就好了。

隨后糜烹,作業(yè)中要做VC之間的回退违诗,這時候需要用到

- (IBAction)unwindForSegue:(UIStoryboardSegue *)unwindSegue towardsViewController:(UIViewController *)subsequentVC {

}

這個方法,在你要退回的目標VC的m文件中疮蹦,寫入這個方法诸迟,可以修改其中unwindForSegue為其他方便辨識的名字如unwindToHome等等。然后在準備進行退回操作的源VC中設置一個Button愕乎,并用Control?鼠標左鍵將其與VC上方的exit鏈接阵苇,這時候會彈出下拉菜單,里面就有之前寫好的目標VC中的unwind方法感论,選擇相應的即可绅项。


第二周作業(yè)中比較麻煩的是傳值,課程里提到用Segue的方式來傳值比肄,還講到可以利用Delegate來傳值快耿,不過Delegate我還沒整明白呢= =所以選擇了Segue來傳值。


利用Segue來傳值芳绩,我們要用到課程中提到的這個方法:

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender

在這個方法中,segue參數(shù)包含重要的3個屬性:

@property (nonatomic, readonly) NSString *identifier; ? //控制器標識符

@property (nonatomic, readonly) id sourceViewController; ? ?//源控制器

@property (nonatomic, readonly) id destinationViewController; ? ?//目標控制器

sender是觸發(fā)這個場景切換的事件源,也就是button掀亥。


然后有兩種方式進行傳值,一種是通過目標場景進行傳值示括,另一種是通過屬性傳值铺浇。

第一種目標場景進行傳值如下:

UIViewController *destinationController=[segue destinationViewController];

[destinationController setValue:@"傳值成功" forKey:@String];

這里是定義了一個UIViewController類的實例destinationController,令其等于segue的目標控制器垛膝,隨后進行傳值操作鳍侣。

第二種通過屬性傳值,也是我選擇的方法如下:

在源VC的m文件中加入:

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender{

if ([segue.identifier isEqualToString:@"SendValue"]) {

SecondViewController *receive = segue.destinationViewController;

receive.name = self.nameInput.text;

receive.password = self.passwordInput.text;

? ? ? ? }

}

這個方式需要知道Segue的名字吼拥,如上方代碼里的SendValue倚聚,同時還需要定義一個目標VC類下的實例,如SecondViewController *receive凿可,令其等于Segue的目標控制器惑折。

在傳值操作中授账,需要在目標VC的h文件中定義負責接受數(shù)據(jù)的屬性,這樣實例receive才有屬性可以進行賦值惨驶。比如在h文件中如下定義:

@interface ViewController3 : UIViewController

@property (strong, nonatomic) NSString *name;

@property (strong, nonatomic) NSString *password;

@property (strong, nonatomic) NSString *mail;

@end

這樣在定義目標VC的實例后白热,該實例就擁有了這些屬性,可以進行傳值操作了粗卜。

隨后在目標VC的m文件中的viewDidLoad中屋确,可以直接使用receive收到的值傳給目標VC的其它值,比如:

- (void)viewDidLoad {

[super viewDidLoad];

#pragma marks --------將傳入的值傳給文本輸出欄--------

self.nameOutput.text = _name; ? ?//這里的_name即為receive.name

if (![_password? isEqual: @""]) {

self.passwordOutput.text = @"******";

}

self.mailOutput.text = _mail;

// Do any additional setup after loading the view.

}

這樣就完成了利益Segue進行屬性傳值的操作续扔。


最后還有一點值得注意攻臀,貌似利用Segue進行屬性傳值操作只能傳給源VC的下一個VC,如果這個Segue并沒有鏈接至源VC纱昧,是無法跨VC傳遞的刨啸。


還有一個問題,如果在最后一頁利用unwindForSegue添加直接返回首頁的按鈕時识脆,會發(fā)現(xiàn)回到首頁后之前填寫的值還在设联,如果希望清空的話可以在unwindForSegue之后的{}中進行清空操作。


就這樣吧存璃,本萌新繼續(xù)聽課去了QAQ

最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末仑荐,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子纵东,更是在濱河造成了極大的恐慌粘招,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,122評論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件偎球,死亡現(xiàn)場離奇詭異洒扎,居然都是意外死亡,警方通過查閱死者的電腦和手機衰絮,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,070評論 3 395
  • 文/潘曉璐 我一進店門袍冷,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人猫牡,你說我怎么就攤上這事胡诗。” “怎么了淌友?”我有些...
    開封第一講書人閱讀 164,491評論 0 354
  • 文/不壞的土叔 我叫張陵煌恢,是天一觀的道長。 經(jīng)常有香客問我震庭,道長瑰抵,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,636評論 1 293
  • 正文 為了忘掉前任器联,我火速辦了婚禮二汛,結果婚禮上婿崭,老公的妹妹穿的比我還像新娘。我一直安慰自己肴颊,他們只是感情好氓栈,可當我...
    茶點故事閱讀 67,676評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著婿着,像睡著了一般颤绕。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上祟身,一...
    開封第一講書人閱讀 51,541評論 1 305
  • 那天,我揣著相機與錄音物独,去河邊找鬼袜硫。 笑死,一個胖子當著我的面吹牛挡篓,可吹牛的內(nèi)容都是我干的婉陷。 我是一名探鬼主播,決...
    沈念sama閱讀 40,292評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼官研,長吁一口氣:“原來是場噩夢啊……” “哼秽澳!你這毒婦竟也來了?” 一聲冷哼從身側響起戏羽,我...
    開封第一講書人閱讀 39,211評論 0 276
  • 序言:老撾萬榮一對情侶失蹤担神,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后始花,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體妄讯,經(jīng)...
    沈念sama閱讀 45,655評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,846評論 3 336
  • 正文 我和宋清朗相戀三年酷宵,在試婚紗的時候發(fā)現(xiàn)自己被綠了亥贸。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,965評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡浇垦,死狀恐怖炕置,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情男韧,我是刑警寧澤朴摊,帶...
    沈念sama閱讀 35,684評論 5 347
  • 正文 年R本政府宣布,位于F島的核電站煌抒,受9級特大地震影響仍劈,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜寡壮,卻給世界環(huán)境...
    茶點故事閱讀 41,295評論 3 329
  • 文/蒙蒙 一贩疙、第九天 我趴在偏房一處隱蔽的房頂上張望讹弯。 院中可真熱鬧,春花似錦这溅、人聲如沸组民。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,894評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽臭胜。三九已至,卻和暖如春癞尚,著一層夾襖步出監(jiān)牢的瞬間耸三,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,012評論 1 269
  • 我被黑心中介騙來泰國打工浇揩, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留仪壮,地道東北人。 一個月前我還...
    沈念sama閱讀 48,126評論 3 370
  • 正文 我出身青樓胳徽,卻偏偏與公主長得像积锅,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子养盗,可洞房花燭夜當晚...
    茶點故事閱讀 44,914評論 2 355

推薦閱讀更多精彩內(nèi)容