MacDev 板


LINE

※ 引述《zonble (zonble)》之铭言: : ※ 引述《markzog21 (残羽星辰)》之铭言: : : 主页mainView (只有一张image 按下去或是过两秒自动跳到userView) : : │ : : ˇ : : 使用者主画面userView (程式各种功能) : : 我的问题变成如果mainView就呼叫delegate 的话,会变成mainView 也有delegate的功能 : : (如tabBar跟navagationBar) : : 而我在userView的时候又需要delegate的功能 : : 所以我想要说在我需要delegate的时候在把他叫出来,而只要秀mainView的时候(有点像程式一 : : 开始的动画但因为我可能会包4个不太一样的application所以希望是用View的方式表现) : : 就不用delegate : : 然後我研究了很久都还是卡住...不知道是哪里的想法有误 : : 上一篇的推文中说把delegate 设为nil就可以了,但我就是这里不懂= =" : : 要从哪设还有哪可以重新呼叫之类的。 : 呃,您好像完全没有搞懂 delegate 的意思。 : 用最简单的方式来解释 delegate,假如说,B 是 A 的 delegate 好了, : 代表 A 有一个成员变数指定到 B,但是 A 并不 retain B,而当 A 要做 : 某些事情的时候,会去问一下 B 要怎麽做。比方说,你生一个 : UITableView 的时候,会给一个 delegate,所以当使用者点到了某个 cell : 的时候,这个 table view 就会问 delegate 应该做什麽事情。 : 就你的文章来看,你似乎把 delegate 只当成 UIApplication 的 delegate : 只把 delegate 当成某个特定物件,但是 delegate 是整个 Mac 与 iPhone : 上非常常见的连接物件关系的方法,而不只是某个特定物件而已。 : 我们先来搞懂你所说的那个「有 tabbar 与 navigation bar 」的 : delegate 是什麽意思。如此一来,我们需要先了解,一个 iPhone 应用程式 : 在启动的时候发生哪些事情。在应用程式启动时,就像所有的 C 程式一样, : 会进入 main() 这个进入点,然後,在 main() 里头预设有一行 : UIApplicationMain(argc, argv, nil, nil); : 这时候,会先产生整个应用程式的第一个物件: UIApplication,而 : 这个 UIApplication 物件会开始载入 MainMenu.nib,并且设定一个 : delegate 物件,这个物件就是范本帮你产生的哪个 XXXAppDelegate, : 我们知道,delegate 就是当 A 要做哪件事情的时候,去问问 B 应该怎麽做 : UIApplication 把程式启动完毕之後,就去问你的 XXXAppDelegate 要做什麽 : 所以就会进入这一行 : - (void)applicationDidFinishLaunching:(UIApplication *)application : UIAppication 物件把自己(self)传递给 XXXAppDelegate,告诉他程式执行 : 起来了,现在请 XXXAppDelegate 来决定应该做些什麽事情,我们就在这边 : 决定,要生出一个 window 出来,然後生出一个 navigatrionController,把 : view 叠在 window 上…等等。 简单来说,我把delegate看成一个设定框架的委派程式,也就是说我是将画面上的元件拉 好以後,剩下的外框元件如tabBar及navBar等东西丢在delegate的 - (void)applicationDidFinishLaunching:(UIApplication *)application完成 但我不太确定是否每个Controlview都可以自行设定其delegate 还是说一个application只能有一种delegate? : 那接下来,问题其实应该是-我们在程式的其他地方,要怎样呼叫 XXXAppDelegate : 这个 instance? : 因为 UIApplication 是个 singleton 物件,所以,我们可以透过 UIApplication : 找到他的 delegate : [UIApplication sharedApplication].delegate; : 比方说,你想要使用那边所定义的 window : XXXAppDelegate *appDelegate = (XXXAppDelegate *)[UIApplication sharedApplication].delegate; : UIWindow *window = appDelegate.window; : 就这样。 这边我试了以後,依然没有出现我设定的delegate = =" 这样说好了 我今天有2个页面 AAAAppDelegate.h AAAAppDelegate.m AAAViewController.h AAAViewController.m BBBAppDelegate.h BBBAppDelegate.m BBBViewController.h BBBViewController.m 程式一开始的main是呼叫A的delegate跟ViewController的 但我在A的delegate里完全没任何动作因为我A的画面只有一张图然後点下去会 切换成BViewController 但我却需要在B的地方呼叫B的delegate来实作我的外框元件 我被要求这样做的时候也觉得很奇怪= =" 但後来想一想,或许很多地方的程式View的确都会有这样类似的要求 不管如何先感谢帮我解答的大大们@@" --



※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 203.64.76.136
1F:→ uranusjr:你似乎还是没搞懂 delegate 的概念, 建议先去找一些这方 07/17 15:49
2F:→ uranusjr:面的资料, 重新整理一下想法 07/17 15:49
3F:推 Blueshiva:你完全搞错delegate是什麽了,事情完全不是你想的那样 07/17 15:59
4F:推 BlueKidds:这看来 b的外框为何不用b的controller去作 07/17 16:09
5F:→ markzog21:我指的外框是tabBarController及navigationController 07/17 16:50
6F:→ markzog21:所以放在B的controller里的话要在哪放? ViewDidLoad? 07/17 16:51
7F:→ markzog21:我放了以後依然没有出现 07/17 16:51
8F:→ markzog21:而且想一下如果我在viewController里放tabBar及navBar的 07/17 16:52
9F:→ markzog21:话,会不会只有这张view里面才有,其他张又没了? 07/17 16:53







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:Soft_Job站内搜寻

TOP