2017-01-07 14 views
0

私はこのAdressCardクラスを実装しました。ここでは、インターフェイスがあります:NSMutableDictionaryと私のadressCardをアクセスしてるObjective-C:インタフェースプロパティNSMutabledicionaryの問題

#import <Foundation/Foundation.h> 

@interface AddressCard : NSObject 

@property NSString *name; 
@property NSString *email; 
@property NSString *phone; 

- (instancetype) initWithName:(NSString*)name 
         email:(NSString*)email 
         phone:(NSString*)phone; 

+ (instancetype) cardWithName:(NSString*)name 
         email:(NSString*)email 
         phone:(NSString*)phone; 


@end 

今、私はクラスを作成したい「AdressBookDictionary」、私はなど、削除、挿入することができ、それが値です。それは「少なすぎる型引数」と言い、次のように:

#import <Foundation/Foundation.h> 
#import "AddressCard.h" 

@interface AdressBookDictionary : NSObject 

@property NSString *name; 
@property NSMutableDictionary <AddressCard*> *cards; 

- (instancetype)initWithName:(NSString*)name; 
+ (instancetype)bookWithName:(NSString*)name; 

- (void)addCard:(AddressCard*)card; 
- (void)removeCard:(AddressCard*)card; 
- (AddressCard*)lookup:(NSString*)name; 

- (NSUInteger)entries; 
- (void)list; 



@end 

は、誰かが私を助けることができる私は、キーと値を必要とするが、私はそれがdictのプロパティです書き込みエラーが発生します知っていますか? - キーの1、および値に1

NSMutableDictionary <AddressCard*> *cards; 

辞書は2つの関連したタイプがあります。私は、あなただけの辞書を持つ単一のタイプを指定しているObjective-Cの

答えて

1

ではかなり新しいです。あなたは、このような辞書を定義する必要があると思いますので、あなたの鍵としてNSString Sを使いたいように見えます:

NSMutableDictionary <NSString*, AddressCard*> *cards; 

このブログ記事は、素敵な、短い概要を説明しています http://useyourloaf.com/blog/using-objective-c-lightweight-generics/

+0

完璧、おかげでソリューションとリンク用 – glassraven

関連する問題