nsproxy

    5熱度

    1回答

    我目前正在研究一個NSProxy子類,該子類攔截某些消息,並且不會將它們轉發給任何人,而只是對其進行處理,因此這些方法從未真正存在。問題出現了,顯然編譯器開始抱怨缺少的方法實現,並且我無法弄清楚如何停止它,只是爲了讓編譯器關閉而將接口方法添加到接口中是行不通的,因爲方法是任意形成的,我不知道它們在前面(爲了使它更具體,我要求this項目)。 理想情況下,我想告訴編譯器,它不應該做任何方法檢查這個特

    10熱度

    3回答

    在ARC下,我有一個對象,Child有一個weak屬性,parent。我正在嘗試編寫一些Child的測試,並且我正在使用OCMock來嘲笑它的parent屬性。 在ARC下,使用合成的弱屬性設置器設置一個NSProxy子類不會設置屬性...弱屬性設置後的行,檢查它顯示它已經是nil。下面是具體的例子: @interface Child : NSObject @property (nonatomi

    0熱度

    1回答

    我使用NSProxy子類和forwardInvocation:捕獲對我的後端API對象(共享實例)的調用。 一些背景信息: 我想捕獲API調用,所以我可以每次檢查是否需要刷新我的身份驗證令牌。如果是,我只是在之前執行刷新。 方法參數(invocation)包含塊。 一些簡化代碼: - (void)forwardInvocation:(NSInvocation *)invocation {

    2熱度

    1回答

    我正在使用方法調配來包裝具有一些額外功能的類中的所有方法調用。具體來說,我是: 檢查,如果該方法調用所需的對象是在緩存 如果緩存中有該對象返回。 如果不是,則分派到原始實現,填充緩存並返回。 我想看看使用NSProxy是否提供了更多可讀代碼,再加上NSProxy可能會使得重定向具有未知數量參數的方法調用變得容易。 因此,除了一個重要的捕獲,NSProxy版本正常工作。我的子類中的任何內部調用都不通

    0熱度

    1回答

    我正試圖在一個NSTableView的NSArrayController的支持下實現複製和粘貼多個對象。我copy:方法是這樣的: - (IBAction)copy:(id)sender { if (self.arrayController.selectionIndexes.count > 0) { NSPasteboard *pasteboard = [NSPasteboa

    1熱度

    1回答

    我設置了NSProxy,forwardInvocation等來捕獲傳遞給對象的消息 - 它一切正常。我想要做的就是捕獲自身傳遞的消息,例如:[self doSomething]或self.myVal = 5; 它似乎沒有工作......這可能嗎?

    11熱度

    2回答

    的NSProxy Class Reference這樣說: 典型地,消息代理轉發到所述真實對象或導致代理加載(或自身轉變爲)真實對象。 「將自身轉化爲真實物體」究竟如何運作? 爲了使事情更具體,假設類Foo有一個方法newFooWithString:需要一個字符串並返回一個新的實例Foo。是否有可能設置一個位於附近的NSProxy,並且如果接收到pleaseBecomeAFooUsingString

    1熱度

    2回答

    背景: 我有一個代表與服務器連接的對象(我們稱之爲BackendClient)。它的方法生成爲單一的@protocol,它們都是同步的,所以我想創建代理對象,將在後臺調用它們。主要問題是返回值,我顯然不能從異步方法返回,所以我需要傳遞一個回調。 「簡單」的方法將複製所有BackendClient的方法並添加回調參數。但這不是解決這個問題的非常動態的方式,而ObjectiveC本質是動態的。這就是p

    1熱度

    1回答

    retain在NSObject協議中聲明。 因此NSObject類和NSProxy類實現它。 但NSProxy和NSObject類都有一個分配。 爲什麼在NSObject協議中聲明瞭isnt alloc? 旁邊的問題: NSObject協議也用於存儲方法的類版本,其中實例方法在NSObject類中。有什麼可以阻止NSObject協議中聲明的類和實例。爲什麼要把它們分開? @protocol NSC

    2熱度

    3回答

    我需要用自己的實現來替換對象中的方法。例如, Person *p; // some object NSMutableArray *array = [NSMutableArray array]; [array addObject: p]; 如何用我自己的方法替換addObject? 換句話說,有沒有辦法用另一個實現來替換SPECIFIC對象的addObject:? 我一直在玩NSProxy,