Arclin

Advocate Technology. Enjoy Technology.

0%

关于建造者模式的个人理解
建造者模式适用于一个复杂的对象,但是他有多种构建方式,而且每种构建方式都不简单,写在一起不方便维护.建造者模式可以帮助分离对象和它的构建,使得调用相同的一个方法可以创建不同的表示.

阅读全文 »

  1. 修改 info.plist
1
2
3
4
5
6
7
8
9
10
11
12
<key>NSUbiquitousContainers</key>
<dict>
<key>iCloud.com.example.app</key>
<dict>
<key>NSUbiquitousContainerIsDocumentScopePublic</key>
<true/>
<key>NSUbiquitousContainerName</key>
<string>App name to display in iCloud Drive</string>
<key>NSUbiquitousContainerSupportedFolderLevels</key>
<string>None</string>
</dict>
</dict>
  1. 修改版本构件号(必改)

继承关系:

  • UIViewController

    • DKViewContrller

      • DKLoginBaseViewCotroller

        • DKLoginViewController
        • DKRegisterViewController
        • DKFoundPswViewController
      • DKModuleABaseViewCotroller

        • DKAViewController
      • DKModuleBBaseViewCotroller

        • DKBViewController

常量配置

  • DKLoginBaseViewController : DKLoginConfig.h

  • DKLoginConfig 里面定义常量

    相关的常量使用UIKIT_EXTERN / FOUNDATION_EXTERA,并且UIKIT_EXTERN / FOUNDATION_EXTERA建议写在模块外的全局DKConfig.h(会在pch里引入)

  • ps: pch建议只写宏,宏之外的其他东西,写在DKConfig.h里面,然后导入pch

  • DKModuelABaseViewController : DKModuelAConfig.h

调用(import)

1
2
3
4
5
6
DKHomeViewController
|-DKLoginViewController
|-DKRegisterViewController
|-DKLoginBaseViewController
|—DKViewController
|_ UIKit

  • 利用ALAssetsLibrary时候,将得到的ALAsset存到数组里,会出现ALAsset - Type:Unknown, URLs:(null)的问题

解决方案:初始化ALAssetsLibrary的时候,不要用alloc-init,用一个单例,如下:

1
2
3
4
5
6
7
8
9
10
+ (ALAssetsLibrary *)defaultAssetsLibrary
{
static dispatch_once_t pred = 0;
static ALAssetsLibrary *library = nil;
dispatch_once(&pred,
^{
library = [[ALAssetsLibrary alloc] init];
});
return library;
}