首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用ios中的自定义委托从其他视图控制器更改一个视图控制器NSSdictonary的值

使用ios中的自定义委托从其他视图控制器更改一个视图控制器NSSdictonary的值
EN

Stack Overflow用户
提问于 2017-03-02 03:13:57
回答 1查看 27关注 0票数 0

我在一个视图控制器中有一个具有不同键的字典,我必须通过某种方法从其他视图控制器更改这个字典中的一个键的值。如何使用自定义deleagate来完成此操作。

EN

Stack Overflow用户

发布于 2017-03-02 03:44:46

添加一个具有您需要的方法的protocol。使包含字典的类符合protocol。实现有问题的方法,并在其中编辑您的字典。在另一个类中,添加@property (weak, nonatomic) id <MyProtocol> delegate或其他适当的名称。当需要时,通过存储的delegate调用协议。

代码语言:javascript
复制
@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
票数 1
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42540101

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档