只要實作connection:willSendRequestForAuthenticationChallenge:。
需要實作以下2個method。
controller預設將成為first responder的能力封印起來，因此我們得先覆寫canBecomeFirstResponder，回傳YES解除封印。另外在我們的例子裡，由於沒有其它物件和ShakeTestViewController搶，所以它當然而然成為first responder的不二人選，否則在多人競爭的環境，我們還必另針對欲偵測晃動的對象呼叫becomeFirstResponder。
(3) priceSum 其中priceSum等於price * amount。因此每當定價或銷售量改變時，我們也要記得更新priceSum。惱人的重複問題就這樣靜稍稍產生了。因此，比較好的寫法是將priceSum定義為method，而不是member，如此即不會有忘了更新的問題。
Tip: Make It Easy to Reuse 建立一個易溝通，彼此常交流，方便Reuse的環境是解決此問題的不二法門。比方我們可以建造一個團隊的知識庫Wiki，從中找尋是否已有同仁寫好變身的程式。變身如此不易，如果已經有人實作，何必再自己打造呢? 況且如果寫得不好，到時候變成科學怪人可就不妙了! 張貼者：