//不能需要了解通知中心儲存通知觀察者的結構了,具體如下:接收通知
[[nsnotificationcenter defaultcenter] addobserver:self selector:@selector(handlenotification:) name:@"
testnotification
"object:@1
];//
傳送通知
[nsnotificationcenter.defaultcenter postnotificationname:@"
testnotification
"object:nil];
//nameless與named的具體資料結構如下:根容器,nsnotificationcenter持有
typedef struct
nctbl nctable;
//observation 儲存觀察者和響應結構體,基本的儲存單元
typedef struct
obs observation;
如上圖所示,當新增通知監聽的時候,我們傳入了name和object,所以,觀察者的儲存鍊錶是這樣的:
named表:key(name):value->key(object):value(observation)
因此在傳送通知的時候,如果只傳入name而並沒有傳入object,是找不到observation的,也就不能執行觀察者**
linux shell下面的快捷方式
ctrl鍵組合 ctrl a 游標移到行首。ctrl b 游標左移乙個字母 ctrl c 殺死當前程序。ctrl d 退出當前 shell。ctrl e 游標移到行尾。ctrl h 刪除游標前乙個字元,同 backspace 鍵相同。ctrl k 清除游標後至行尾的內容。ctrl l 清屏,相當於c...
JsonIgnore導致不能接收引數
最近的專案裡有某個屬性需要接收,但不需要返回,於是新增了 jsonignore但隨後發現了bug,這個屬性也不能接收了,查閱資料發現,從2.6版本起 如果想接收則需要新增 jsonproperty 則可實現接收,但不返回的效果 這2個註解直接加在字段上即可,也可以 jsonignore 新增在 ge...
JsonIgnore導致不能接收引數
最近用了jsonignore之後,在寫註冊的時候突然發現這個引數不能接受引數了,於是就檢視了一下資料,從1.9版本起 如果想接收引數的話,則需要新增 jsonproperty 則可實現接收,但不返回的效果 這2個註解直接加在字段上即可,也可以 jsonignore 新增在 getter jsonpr...