【发布时间】:2014-03-24 21:19:05
【问题描述】:
我正在努力理解便利方法。
如果我有一个包含商店详细信息的 sqlite 数据库,并且在 FMResultSet 中返回这些商店详细信息。我在想,要将这些商店详细信息的数组创建为 Store 对象,最好的方法是使用便捷的方法一次性创建一个 Store 类型的对象并添加到数组中。
我用方便的方法创建的类如下
@interface StoreDetails : NSObject
@property (nonatomic, strong) NSString *storeName;
etc etc etc
+ (instancetype)storeWithStoreName:(NSString *)storeName
TelephoneNumber:(NSString *)
telephoneNumber: etc .......
我的 ResultSet 循环如下所示?
NSMutableArray *Stores = [[NSMutableArray alloc] init];
while ([rs next]) {
Store *store =
[Store storeDetailsWithStoreName:[rs stringForColumn:@"storename"]
telephoneNumber:[rs stringForColumn:@"TelephoneNo"]];
[Stores addObject:store];
}
我的想法是否正确,是不是最好如下。
NSMutableArray *Stores = [[NSMutableArray alloc] init];
while ([rs next]) {
Store *store = [Store alloc] init];
store.storeName = [rs stringForColumn:@"storename"];
store.telephoneNumber = [rs stringForColumn:@"TelephoneNo"];
[Stores addObject:store];
}
我试图理解的是为什么你会在菜鸟说话中使用一个而不是另一个,谢谢。
【问题讨论】:
-
这可能是一个荒谬的想法,但你为什么不试试你的代码,看看它是否符合你的要求?!
-
我正在尝试了解便捷方法的使用并知道我的代码有效,因此已经尝试过了。我想知道我做事是否正确。
-
就个人而言,我对此类事情的便捷方法是传递记录集,处理
Store对象的循环和创建并返回NSMutableArray -
我重新措辞了这个问题,也许可以更清楚地说明我在问什么
标签: objective-c class methods