簡體   English   中英

使用ios中的自定義委托從另一個視圖控制器更改一個視圖控制器NSSdictonary的值

[英]Change value of one view controllers NSSdictonary from other view controller using custom delegate in ios

我在一個具有不同鍵的視圖控制器中有字典,我必須通過某種方法從其他視圖控制器更改此字典中鍵之一的值。 我該如何使用自定義發布。

添加具有您需要的方法的protocol 使包含字典的類符合protocol 實現有問題的方法並在其中編輯您的字典。 在另一個類中,添加一個@property (weak, nonatomic) id <MyProtocol> delegate或其他一些合適的名稱。 需要時通過存儲的delegate調用協議。

@protocol MyProtocol <NSObject>
  - (void)callback;
@end

@interface MyClass : NSObject <MyProtocol>
@property (nonatomic, copy) NSMutableDictionary *myDictionary;
@end

@implementation MyClass
// class methods

  -(void)callback {
    // edit dict here
  }

@end

@interface MySecondClass : NSObject
@property (weak, nonatomic) id<MyProtocol> delegate;
@end

@implementation MySecondClass
// class methods

- (void)someMethod {
  // some logic
  if ([self.delegate respondsToSelector:@selector(callback)]) {
    [self.delegate callback];
  }  
}
@end

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM