我在一个视图控制器中有一个具有不同键的字典,我必须通过某种方法从其他视图控制器更改这个字典中的一个键的值。如何使用自定义deleagate来完成此操作。
发布于 2017-03-02 03:44:46
添加一个具有您需要的方法的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];
}
}
@endhttps://stackoverflow.com/questions/42540101
复制相似问题