繁体   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