iOS-定位总结
在 iCloud Drive中显示 App的iCloud文件夹
- 修改 info.plist
1 | <key>NSUbiquitousContainers</key> |
- 修改版本构件号(必改)
简易架构设计
继承关系:
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 | DKHomeViewController |
网络层方法封装
网络层的方法封装
项目里面的库和框架里面的库冲突问题
项目里面有一个libFat.a 然后项目里面的KxMovie.framework 里面也有一个libFat.a,编译时会冲突
如果有用Cocopods,那么只要删掉-ObjC编译选项就可以
ALAsset-Type:Unknown的问题
- 利用ALAssetsLibrary时候,将得到的
ALAsset存到数组里,会出现ALAsset - Type:Unknown, URLs:(null)的问题
解决方案:初始化ALAssetsLibrary的时候,不要用alloc-init,用一个单例,如下:
1 | + (ALAssetsLibrary *)defaultAssetsLibrary |
NavigationController的RootViewController和子ViewController的状态栏颜色不一样或者状态栏显示异常
如果NavigationController的状态栏颜色跟子ViewController的状态栏颜色不一样,那么就像下面这么写
在UINavigationController的子类写这个
1 | - (UIViewController *)childViewControllerForStatusBarStyle{ |
RACCommand使用注意
RACCommand使用注意
RAC关于cell上的按钮点击后会重复发送信号的问题
关于cell上的按钮点击后会重复发送信号的问题
RAC给UITableViewCell提供了一个方法:rac_prepareForReuseSignal,它的作用是当Cell即将要被重用时,告诉Cell。想象Cell上有多个button,Cell在初始化时给每个button都addTarget:action:forControlEvents,被重用时需要先移除这些target,下面这段代码就可以很方便地解决这个问题:
1 | [[[self.cancelButton |
URLWithString返回空
[NSURL URLWithString:@”…………”] 返回空 nil
但是貌似汉字或者空格等无法被识别,String不被认为是URLString,这个NSURL的值也就一直是nil
要怎样才能够让它识别呢?
解决方法如下 :
- 转换编码
1 | str1 = [str1 stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]; |
- 除去空格
1 | +(NSString *)returnFormatString:(NSString *)str |