KeyValue.h 815 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. //
  2. // KeyValue.h
  3. // CommonLibrary
  4. //
  5. // Created by Alexi on 14-7-22.
  6. // Copyright (c) 2014年 Alexi Chen. All rights reserved.
  7. //
  8. #import <Foundation/Foundation.h>
  9. @protocol KeyValueAble;
  10. typedef void (^KeyValueAction)(id<KeyValueAble> menu);
  11. @protocol KeyValueAble <NSObject>
  12. @property (nonatomic, copy) NSString *key;
  13. @property (nonatomic, strong) id value;
  14. - (void)keyValueAction;
  15. @end
  16. @interface KeyValue : NSObject<KeyValueAble>
  17. @property (nonatomic, copy) NSString *key;
  18. @property (nonatomic, strong) id value;
  19. @property (nonatomic, copy) KeyValueAction action;
  20. + (instancetype)key:(NSString *)key value:(id)value;
  21. - (instancetype)initWithKey:(NSString *)key value:(id)value;
  22. - (instancetype)initWithKey:(NSString *)key value:(id)value action:(KeyValueAction)action;
  23. @end