使用ios

时间:2017-03-01 19:13:57

标签: ios objective-c

我在一个具有不同键的视图控制器中有一个dictonary.i必须在某种方法之后从其他视图控制器更改此dictonary的一个键的值。如何使用自定义删除操作。

1 个答案:

答案 0 :(得分:1)

使用符合您需求的方法添加protocol。使包含字典的类符合protocol。实现有问题的方法并编辑你的dict。在另一个类中,添加@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