我有一个具有以下属性的类:
我想将这些属性转换为字典。如何正确命名符合Apple惯例的方法?
我在考虑:
- (NSDictionary *) convertToDictionary {}
答案 0 :(得分:4)
仅仅-dictionaryRepresentation
如何传达这样一种观念,即您可以以字典形式获取存储在对象中的数据?所以你要说:
NSDictionary *personDict = [person dictionaryRepresentation];
另一个合理的选择是-properties
,将返回类型留在名称之外:
NSDictionary *personDict = [person properties];
答案 1 :(得分:1)
请考虑从NSString
转到NSData
:
NSData* data = [str dataUsingEncoding:NSUTF8StringEncoding];
同样你可以这样做:
- (NSDictionary *)dictionary;
因为你没有参数。或者考虑从NSData
到NSString
:
[[[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];