NSObject+loadPadClass.h 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. //
  2. // NSObject+loadClass.h
  3. // CommonLibrary
  4. //
  5. // Created by Alexi Chen on 2/28/13.
  6. // Copyright (c) 2013 AlexiChen. All rights reserved.
  7. //
  8. #import <Foundation/Foundation.h>
  9. // 声明:
  10. // 为了区分设备:(iphone ipad)上同一逻辑界面,不同的展现,以及不同的业务处理所封装
  11. // 因为优先完成iphone相关逻辑,对于ipad上不同的处理,作选择性继承
  12. // 命名规则:
  13. // AClassName: iphone处理下相关的类名
  14. // 如果判断当前是ipad时,那么使用以下方法时,发果发现本地有AClassName_Pad这个类,则创建AClassName_Pad相应的实例
  15. // 否则则走iphone相关的逻辑
  16. // 注意以下代码最好只在区分(iphone 与 ipad)上使用
  17. @interface NSObject (loadClass)
  18. - (void)configParams:(id)params;
  19. + (Class)getPadClass:(Class)phone;
  20. // 等效于使用 [[newClass alloc] init]
  21. + (id)loadClass:(Class)newClass;
  22. // 等效于使用 [[newClass alloc] initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil]
  23. + (id)loadClassFromNib:(Class)newClass;
  24. // 等效于使用
  25. // newClassInstance = [[newClass alloc] init]
  26. // [newClassInstance configParams:params]
  27. + (id)loadClass:(Class)newClass withParams:(id)params;
  28. // 等效于使用
  29. // newClassInstance = [[newClass alloc] init]
  30. // [newClassInstance configParams:params]
  31. + (id)loadClass:(Class)newClass withParams:(id)params withConfigSelector:(SEL)selector;
  32. @end