-1

我有一个具有以下属性的类:

  • 姓名
  • 电子邮件
  • 用户名

我想将这些属性转换为字典。如何正确命名执行该操作的方法以遵守 Apple 的约定?

我在想:

- (NSDictionary *) convertToDictionary {} 
4

2 回答 2

4

只是-dictionaryRepresentation,传达您可以以字典形式获取存储在对象中的数据的概念怎么样?所以你会说:

NSDictionary *personDict = [person dictionaryRepresentation];

另一个合理的选择是-properties,将返回类型从名称中去掉:

NSDictionary *personDict = [person properties];
于 2013-10-17T16:39:02.603 回答
1

考虑一下从一个NSString到一个NSData你做的事情:

NSData* data = [str dataUsingEncoding:NSUTF8StringEncoding];

同样,您可以这样做:

- (NSDictionary *)dictionary;

因为你没有参数。或者考虑从NSDataNSString做:

[[[NSString alloc] initWithData:data encoding:encoding] autorelease]

类方法(如果有的话)看起来像:

[NSString stringWithData:data encoding:encoding]

所以你可以把它作为一个类别NSDictionary。假设您的班级被称为Account

+ (NSDictionary *)dictionaryWithAccount:(Account *)account;

取决于你认为更好看的东西:

Account *account = ...;

[account dictionary];
[NSDictionary dictionaryWithAccount:account];
于 2013-10-17T16:45:26.387 回答