話不多,今天就是心血來潮來寫一點東西,就寫通知設(shè)計模式實現(xiàn)的猜想吧!在此之前沒看過什么網(wǎng)上的各種大牛的博文,如有雷同萬分榮幸!另外,也不知道知道通知設(shè)計模式實現(xiàn)原理是什么,只是這有辦法實現(xiàn)相同的功能!還是一如既往分析代碼吧!
1.@property (class, readonly, strong) NSNotificationCenter *defaultCenter;
2.- (void)postNotificationName:(NSNotificationName)aName object:(nullable id)anObject;
3.- (void)addObserver:(id)observer selector:(SEL)aSelector name:(nullable NSNotificationName)aName object:(nullable id)anObject;
4.- (void)removeObserver:(id)observer;
上面是 iOS的API,1 ->單例設(shè)計模式,上邊說過的,這里就不贅述了;2->的參數(shù)NSNotificationName 值得一說,是為了讓多個 同志共存 ;3->先說參數(shù)吧 observer 的存在是為了執(zhí)行 aSelector, aName是為了查找 是否注冊了通知 ;4-> 這個好像也沒什么好說的!上面解釋了這些東西存在的意義,那么下面的談?wù)剬崿F(xiàn)吧!我的思路是這樣的,運用Runtime通過observer 對象從方法列表中找的aSelector 的 IMP 并且執(zhí)行!
其實,就是想明白怎么處理的,對自己是非常有幫助的,不論是對API的理解,還是以后代碼的設(shè)計!
若有不對的地方,敬請指點和指指點點!要是覺得還可以的話,請點贊收藏!