Skip to Content
COCOA學習手冊--使用OBJECTIVE-C第三版
book

COCOA學習手冊--使用OBJECTIVE-C第三版

by Paris Buttfield-Addison, Jonathon Manning
June 2013
Intermediate to advanced
360 pages
6h 50m
Chinese
GoTop Information, Inc.
Content preview from COCOA學習手冊--使用OBJECTIVE-C第三版
150
|
第九章
通知觀察者改變發生
為了讓鍵值觀察系統順立運作,物件必須在特性發生改變時通知它的觀察者。
如果你正在使用 Objective-C 特性(亦即,你使用
@property
語法宣告你的特性,並且
讓編譯器合成(synthesize)存取器方法),當 setter 方法被呼叫時,Cocoa 將自動通知
任何已經註冊的觀察者。
如果你未使用Objective-C 特性,或者如果你覆寫(override)特性的setter
法,你必須手動通知系統改變正在發生,為達此目的,你呼叫
self
物件上的
willChangeValueForKey:
didChangeValueForKey:
方法,這樣做會讓鍵值觀察系統追
蹤特性的舊值與新值。
例如,下面說明如何覆寫
productName
setter 方法,同時讓鍵值觀察正常運作︰
- (void) setProductName:(NSString*)newProductName {
[self willChangeValueForKey:@"productName"];
productName = newProductName;
[self didChangeValueForKey:@"productName"];
}
NSNotification
進行通知
除了讓物件在特性發生改變時接獲通知,當有某種關聯性發生時,將通知廣播給任何有
興趣的應用程式知道,往往也是很有用的。
例如,當使用者在 iOS 裝置上按下 Home 按鈕時,預設上,收到通知的唯一物件就是應 ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.

Read now

Unlock full access

More than 5,000 organizations count on O’Reilly

AirBnbBlueOriginElectronic ArtsHomeDepotNasdaqRakutenTata Consultancy Services

QuotationMarkO’Reilly covers everything we've got, with content to help us build a world-class technology community, upgrade the capabilities and competencies of our teams, and improve overall team performance as well as their engagement.
Julian F.
Head of Cybersecurity
QuotationMarkI wanted to learn C and C++, but it didn't click for me until I picked up an O'Reilly book. When I went on the O’Reilly platform, I was astonished to find all the books there, plus live events and sandboxes so you could play around with the technology.
Addison B.
Field Engineer
QuotationMarkI’ve been on the O’Reilly platform for more than eight years. I use a couple of learning platforms, but I'm on O'Reilly more than anybody else. When you're there, you start learning. I'm never disappointed.
Amir M.
Data Platform Tech Lead
QuotationMarkI'm always learning. So when I got on to O'Reilly, I was like a kid in a candy store. There are playlists. There are answers. There's on-demand training. It's worth its weight in gold, in terms of what it allows me to do.
Mark W.
Embedded Software Engineer

You might also like

網頁互動式資料視覺化:使用D3

網頁互動式資料視覺化:使用D3

Scott Murray
深入淺出代數

深入淺出代數

Tracey Pilone, Dan Pilone
自然语言处理实战:从入门到项目实践

自然语言处理实战:从入门到项目实践

Sowmya Vajjala, Bodhisattwa Majumder, Anuj Gupta, Harshit Surana

Publisher Resources

ISBN: 9789862768136