Menu
Woocommerce Menu

iOS基础深入补完计划,iOS个人遇到的问题总结

0 Comment


1. 马虎变成的轮回引用

一初步察觉页面布告的监听失效,后来意识页面pop关闭的时候dealloc方法也不调用,
经过多番调节和测验与排查开采罪魁祸首居然是MJRefreshHeader的block方法的大循环援引产生的,能够说是使用不当了,以为不会互相引用….太年轻气盛了

如下这段代码,就是元凶 ,错误示范❌ 这样会导致循环援用,导致布告失效

 MJRefreshNormalHeader *refreshHeader = [MJRefreshNormalHeader headerWithRefreshingBlock:^{ [self.tableView.mj_header endRefreshing]; }]; self.tableView.mj_header = refreshHeader; //此时的refreshHeader是被强引用 了
能够说是明日午间休息后卒然意识Xcode编写翻译能够经过,不过运维不起来,有叁个弹窗提示如下图:

图片 1QQ20180503-201640.png

图片 2

2. 导航栏的初阶点难题

self.navigationController.navigationBar.translucent = YES; //透明设置translucent = YES的时候,导航栏是晶莹的,从早先谋算坐标原点

self.navigationController.navigationBar.translucent = NO;安装为NO的时候是不透明的,是从开首图谋

很思疑, 查找材料,排查原因,认为是开垦者账号选取证书的主题材料,于是再一次登入开垦者账号,死活登陆不上,App Store也是,iCloud也是都以清一色如下图提醒:

图片 3QQ20180503-201428.png

遍寻百度,google,各个论坛博客资料能够找到如下重复类似的答案:

    1. command + XC60 重新安装系统 ,也有用,然则时间费用有一点大…
      个人不提议,即使小编尝试了中途停止了
    1. 各样我亲测如下代码:

终端依次输入执行如下命令即可 (PS.苹果官方论坛也是这答案...所以问客服技术支持也是一样滴)sudo mkdir -p /Users/Shared sudo chown root:wheel /Users/Sharedsudo chmod -R 1777 /Users/Shared
    1. 也和上一条看似

先执行sudo pkill -9 -f Accountsudo rm $HOME/Library/Accounts/*再执行sudo mkdir -p /Users/Sharedsudo chown root:wheel /Users/Sharedsudo chmod -R 1777 /Users/Shared
    1. 上述都试过了,大概笔者的机器更卓绝:
      (777和1777近乎是有一丢丢的分别的),最终找到google上的二个答案

sudo chmod -R 777 /Users/Shared
读书NSUEscortLSession以前、先撸三回NSULANDLRequest和NSU大切诺基LResponse头文件里的质量和API

3. IB_Designable不支持pod方式的IB使用

Pod导入的,爆木色提示音讯 fail to load designable from path
,可是编译器还是能够运行,那一点令人很为难,以致YYKit的小编也是很通透到底,给出清缓存,重启Xcode,重启计算机……换库等措施……也可以有人提issue说用use_frameworks!能够用。。。。后来群里探究的结果是,pod暗许是包装静态库的,然后引用恐怕出了难点,可是用use_frameworks!这种艺术是swift开采的,OC比比较多库可能会有坑,于是本人抱着试试看的心情,不选拔pod,直接动用文件导入的方法,结果就能够了,那么些bug真是很诡异,都说是Xcode的锅,这里记录一笔,以防日后重新踩坑。

NSURLRequest

@interface NSURLRequest : NSObject <NSSecureCoding, NSCopying, NSMutableCopying>{ @private NSURLRequestInternal *_internal;}/*! 创建NSURLRequest对象默认使用NSURLRequestUseProtocolCachePolicy缓存逻辑 默认请求超时时限为60s*/+ (instancetype)requestWithURL:URL;/*! 是否支持安全编码*/+ supportsSecureCoding;/*! 创建时设置缓存策略和超时时限 @param URL 请求链接 @param cachePolicy 缓存策略 @param timeoutInterval 超时时间*/+ (instancetype)requestWithURL:URL cachePolicy:(NSURLRequestCachePolicy)cachePolicy timeoutInterval:(NSTimeInterval)timeoutInterval;//init方法进行对象的创建 默认使用NSURLRequestUseProtocolCachePolicy缓存逻辑 默认请求超时时限为60s- (instancetype)initWithURL:URL;/*! 创建NSURLRequest对象默认使用NSURLRequestUseProtocolCachePolicy缓存逻辑 默认请求超时时限为60s*/- (instancetype)initWithURL:URL cachePolicy:(NSURLRequestCachePolicy)cachePolicy timeoutInterval:(NSTimeInterval)timeoutInterval;/*! 只读属性、获取对象的URL*/@property (nullable, readonly, copy) NSURL *URL;/*! 只读属性、获取对象的缓存策略*//*NSURLRequestCachePolicy枚举如下:typedef NS_ENUM(NSUInteger, NSURLRequestCachePolicy){ //默认的缓存协议 NSURLRequestUseProtocolCachePolicy = 0, //无论有无本地缓存数据 都进行从新请求 NSURLRequestReloadIgnoringLocalCacheData = 1, //忽略本地和远程的缓存数据 未实现的策略 NSURLRequestReloadIgnoringLocalAndRemoteCacheData = 4, //无论有无缓存数据 都进行从新请求 NSURLRequestReloadIgnoringCacheData = NSURLRequestReloadIgnoringLocalCacheData, //先检查缓存 如果没有缓存再进行请求 NSURLRequestReturnCacheDataElseLoad = 2, //类似离线模式,只读缓存 无论有无缓存都不进行请求 NSURLRequestReturnCacheDataDontLoad = 3, //未实现的策略 NSURLRequestReloadRevalidatingCacheData = 5, // Unimplemented};*/@property  NSURLRequestCachePolicy cachePolicy;/*! 只读属性、获取对象的超时时间*/@property  NSTimeInterval timeoutInterval;/*! 只读属性、获取缓存路径*/@property (nullable, readonly, copy) NSURL *mainDocumentURL;/*! 只读属性、获取网络请求的服务类型*//*typedef NS_ENUM(NSUInteger, NSURLRequestNetworkServiceType){ NSURLNetworkServiceTypeDefault = 0, // 普通网络传输,默认使用这个 NSURLNetworkServiceTypeVoIP = 1, // 网络语音通信传输,只能在VoIP使用 NSURLNetworkServiceTypeVideo = 2, // 影像传输 NSURLNetworkServiceTypeBackground = 3, // 网络后台传输,优先级不高时可使用。对用户不需要的网络操作可使用 NSURLNetworkServiceTypeVoice = 4 // 语音传输};*/@property  NSURLRequestNetworkServiceType networkServiceType;/*! 只读属性、获取是否允许蜂窝请求*/@property  BOOL allowsCellularAccess;@end
标签:

发表评论

电子邮件地址不会被公开。 必填项已用*标注

相关文章

网站地图xml地图