我有个问题。
给我骨头,如何正确实施
下面的示例代码。我将从viewController调用“updateViewData:”方法来更新ViewClass中的数据。 NewData数组应包含DataModels实例的Array
所以我的问题。我想确保代码安全,如果另一个开发人员将不使用DataModel实例数组调用“updateViewData:”。
解决此问题的最佳方法是什么,编写NSException或为此代码或NSMutableArray的子类编写一些协议,该子类将检查添加的数据到数组。
如果答案包含示例,将不胜感激。
非常感谢。
//View
@interface ViewClass : UIView
@property (nonatomic, strong) NSArray *viewData;
- (void)updateViewData:(NSArray *)newData;
@end
@implementation ViewClass
- (void)updateViewData:(NSArray *)newData
{
self.viewData = newData;
[self.tableView reloadDate];
}
@end
//Model
@interface DataModel : NSObject
@property (nonatomic, strong) NSDate *date;
@property (nonatomic, strong) NSString *name;
@end
最佳答案
我只是返回布尔值成功代码:
- (BOOL)updateViewData:(NSArray *)newData
{
for (id obj in newData)
if (![obj isKindOfClass:[DataModel class]])
return NO;
self.viewData = newData;
[self.tableView reloadDate];
return YES;
}
引发异常似乎有些极端,但这实际上取决于您。
关于ios - objective-c 如何正确实现协议(protocol)或其他解决方案,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20188969/