[問題] 多個uiviewcontrol 使用alertcontroller

看板MacDev作者 (加拉哈德)時間9年前 (2015/10/21 19:09), 9年前編輯推噓3(3014)
留言17則, 6人參與, 最新討論串1/1
不好意思我是新手 每個viewcontroller的class 都會用到一些alertcontroller 可是每個下面都寫一個 alert method 然後在個別呼叫 感覺非常的笨... 每個可能有些只是字串的不一樣 想說有辦法可以把它集中在一起嗎 有沒有比較有效率的寫法呢? 讓所有的viewcontrol 都可以 使用 有點像是alertcontroller的中心一樣 大家都可以來取用 目前能想到的就是在開一個.m檔 繼承 NSObject import <UIKit/UIKit.h> 在這個.m檔裡面寫method 寫 alertcontroller的邏輯 然後再需要alert的viewcontroller import這個.h檔 在一開始viewcontroller的一開始 new出這個類別 有沒有比這個更好的寫法呢? 謝謝鄉民指教 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.34.163.152 ※ 文章網址: https://www.ptt.cc/bbs/MacDev/M.1445425753.A.B49.html ※ 編輯: kinqsman (1.34.163.152), 10/21/2015 19:46:19

10/21 20:58, , 1F
寫一個Class 繼承自UIViewController,把功能寫進去,
10/21 20:58, 1F

10/21 20:59, , 2F
需要的在繼承於該Class
10/21 20:59, 2F

10/21 22:04, , 3F

10/21 22:05, , 4F
^作法,其實根本不需要繼承哪個Class,它只是的封裝
10/21 22:05, 4F

10/21 22:06, , 5F
而已,多用幾個Class Method就能解決常用的問題了
10/21 22:06, 5F

10/21 22:10, , 6F
網址錯誤,用這個:https://goo.gl/afN6TX
10/21 22:10, 6F
謝謝darktt大大 的swift code提供 我是寫objective c的 大概看得懂... let alertController = UIAlertControllerBundle.alertControllerForPresentError("Oops, get an error!") 這一行等於 UIAlertControllerBundle *altercontroller = [UIAlerControllerBundle new]; [altercontroller alertControllerForPresentError:@"Oops, get an error"]; 是一樣的嗎?? 不過我是連viewcontroller 一起帶進去...然後在那邊 做presentViewController ※ 編輯: kinqsman (123.192.106.235), 10/21/2015 23:03:25

10/21 23:04, , 7F
只是這樣又要在new一塊記憶體出來 我是不太喜歡><
10/21 23:04, 7F
※ 編輯: kinqsman (123.192.106.235), 10/21/2015 23:08:08

10/22 06:34, , 8F
給你幾的提示 1.method new是要繼承NSObject才有的
10/22 06:34, 8F

10/22 06:35, , 9F
2. 我建立的method開頭是"+"不是"-",你可以看看
10/22 06:35, 9F

10/22 06:36, , 10F
[NSDate date]的Method date的開頭是什麼?
10/22 06:36, 10F

10/22 14:53, , 11F
Extension uiviewcontroller 加入 function Alert
10/22 14:53, 11F

10/24 07:18, , 12F
樓上方法+1。 Swift: extension,Obj-C: category。
10/24 07:18, 12F

10/24 08:01, , 13F
範例支援: https://goo.gl/Jq6kdJ
10/24 08:01, 13F

10/29 15:31, , 14F
請問用category方式 點選ok的action要如何讓view知道?
10/29 15:31, 14F

10/29 15:32, , 15F
用delegate嗎? 如果很多不同的按鈕就需要不同delegate?
10/29 15:32, 15F

10/29 16:47, , 16F
後來用了block的方式
10/29 16:47, 16F

10/29 17:58, , 17F
這個一定要使用delegate
10/29 17:58, 17F
文章代碼(AID): #1M9t9Pj9 (MacDev)
文章代碼(AID): #1M9t9Pj9 (MacDev)