*customUserAgent NS_AVAILABLE(10_11, 9_0); // 在iOS上默认为NO,标识不允许链接预览 @property (nonatomic) BOOL allowsLinkPreview...WKWebViewConfiguration *config = [[WKWebViewConfiguration alloc] init]; ## WKPreferences偏好设置 目前在iOS...WKUserContentController是用于与JS交互的类,而所注入的JS是WKUserScript对象。...WKWebsiteDataStore存储的Web内容 iOS9.0以后才能使用这个类。...didReceiveServerRedirectForProvisionalNavigation:(null_unspecified WKNavigation *)navigation; // 当main frame开始加载数据失败时
您可以使用WKWebView类来在应用程序中嵌入web内容,通过创建一个WKWebView对象,将其设置为视图,并发送一个请求来加载web内容。...从iOS 8.0和OS X 10.10开始,建议使WKWebView在应用程序中展示web内容,建议不要使用UIWebView或WebView。...9.0+是否允许按住链接就展示链接的预览 @property(nonatomic) BOOL allowsLinkPreview; 在iOS上,这个属性只在支持3D Touch的设备上支持 在iOS...element创建之后,在所有其他内容加载之前 WKUserScriptInjectionTimeAtDocumentEnd在document加载完成之后,在其他子资源加载完成之前 WKContentRuleList...UIPreviewActionItem被 UIPreviewAction 和 UIPreviewActionGroup 类采用,请不要应用到自定义的类上。 快速选择操作的标题。
在xcode中使用mlmodel模型,之前说的最简单的方法是将模型拖进工程中即可,xcode会自动生成有关模型的前向预测接口,这种方式非常简单,但是更新模型就很不方便。...今天说下另外一种通过URL加载mlmodel的方式。...因此需要自己重写模型输入和获取模型输出的类接口(该类继承自MLFeatureProvider)。如下自己封装的MLModelInput和MLModelOutput类。...MLModelInput类可以根据模型的输入名称InputName,传递data给模型。而MLModelOutput可以根据不同的输出名称featureName获取预测结果。... *)featureNames { return [NSSet setWithArray:@[self.inputName]]; } - (nullable MLFeatureValue
前言 上篇文章iOS开发中的这些权限,你搞懂了吗?介绍了一些常用权限的获取和请求方法,知道这些方法的使用基本上可以搞定大部分应用的权限访问的需求。...So,笔者在介绍一下剩下的几种权限的访问方法和一些使用上的注意事项,希望能给大家的开发过程带来一丝便利。...unAuthorizedHandler() : nil; } } 健康数据共享 导入头文件@import HealthKit; 健康数据共享权限相对其他权限相对复杂一些,分为写入和读出权限....NSString * const ACAccountTypeIdentifierTencentWeibo NS_AVAILABLE(NA, 7_0); ACCOUNTS_EXTERN NSString...小结一下 通过以上两篇文章的整理,有关iOS系统权限问题的处理基本上涵盖完全了; 并不是所有的权限访问都有显式的调用方法,有些是在使用过程中进行访问的,比如定位权限、蓝牙共享权限、Homekit权限、活动与体能训练权限
https://blog.csdn.net/u010105969/article/details/53943101 最近产品经理在验收项目,在验收过程中发现了一个问题:网页中的数据存在缓存。...网页中加载的是一张图片,在后台将加载的图片换掉的时候再在App中加载此网页,发现展示的图片还是之前的图片,并没有更新,而且多次重新加载网页显示的还是之前的图片,说明缓存很严重。...注意:只有在iOS9之后WKWebView才有清除缓存的方法,在写代码的时候切记对系统版本进行判断。 ...我们可以使用一个类来实现,这个类也是我在网上找的,类名: JWNetAutoCache,大家也可以点进去看这个类实现该效果的一个思路。...增加内容: 在iOS8上还会导致崩溃的代码: /* 导致iOS8奔溃的代码 */ self.webView.allowsBackForwardNavigationGestures
引言 在日常开发中经常涉及数据列表的查询,处理服务侧无数据返回的情况或者网络异常的手段是iOS必备小技能。 如果是iOS新手,可以先看第三章节的预备知识。...:setInfoImage: // 设置加载信息 NSString *path = [[NSBundle mainBundle] pathForResource:@"加载" ofType:@"gif...设置加载信息 NSString *path = [[NSBundle mainBundle] pathForResource:@"加载" ofType:@"gif"]; NSData *...weakSelf.viewModel.hidenNoviewSubject sendNext:nil]; } 2.2 核心实现 V层初始化暂无数据视图:将视图添加到tableView,这样可以不影响下拉刷新和上拉加载...https://blog.csdn.net/z929118967/article/details/108011011 3.1 响应者链 在iOS中不是任何对象都能处理事件,只有继承了UIResponder
为什么要使用第三发推送 自己做推送从开发成本上来说需要专人进行开发,并且需要一定数量的服务器和带宽支持,在开发完成后的使用过程中还需要有专人进行维护。... *categories for iOS10 or later // NSSet<UIUserNotificationCategory...registrationID 不会随便改变,在每次登陆后绑定一个就够了。在APP卸载后就会发生改变。...:(NSDictionary *)launchOptions 然后才会加载通知的点击事件。...} 小结 在实际的产品和运营中经常是使用组合技巧: Push,短信,微信推送组合协同,提高效率。
好处在于:方便后来的开发者减少代码的阅读量和提高对代码的理解速度。比如: // count同时定义在NSDictionary、NSArray、NSSet这三个集合类中。...在其他情况下,我们需要遵循下面两条缩写建议: 允许使用那些在C语言时代就已经在使用的缩写,比如alloc和getc。 我们可以在命名参数的时候使用缩写。其他情况,尽量不要使用缩写。...(2.12) 懒加载规范 懒加载适合的场景: 一个对象的创建依赖于其他对象。 一个对象在整个app过程中,可能被使用,也可能不被使用。 一个对象的创建需要经过大量的计算或者比较消耗性能。...除以上三条之外,请不要使用懒加载。 【建议】懒加载本质上就是延迟初始化某个对象,所以,懒加载仅仅是初始化一个对象,然后对这个对象的属性赋值。...懒加载中不应该有其他的不必要的逻辑性的代码,如果有,请把那些逻辑性代码放到合适的地方。 【必须】不要滥用懒加载,只对那些真正需要懒加载的对象采用懒加载。
Block介绍(一)基础 Block介绍(二)内存管理与其他特性 block介绍(三)揭开神秘面纱(上) block介绍(四)揭开神秘面纱(下) 2 iOS开发 git github 初学...后两个类是这次iOS8新加的,也是这篇文章将要讨论的内容。...界面,还需要保证更新后的数据满足数据库模型上的 validation ,因为 NSManagedObjectContext 没有感知Batch Updates,一些数据验证工作就落在了程序员的身上(你需要写一段代码验证更新后的数据是合法的...,用户可不希望在跑步APP上看到自己今天跑步里程是个负数)。...一旦有非法数据录入数据库,下次加载并修改 NSManagedObject 的时候就会导致数据验证失败。
减少准备时间,在展示前将数据准备就绪 d) 善用DrawRect方法,速度比通过nib读取或者addSubView方法快很多,原因在于drawRect是GPU方法,而GPU方法在渲染或者显示...如果一个View是透明的,则iOS需要在一个像素上渲染两次或多次,因为一个像素在那时候属于多个view。...不会被OS删除 缺点:需要自己考虑清除缓存的策略,确保目录不会太大 作用:如果希望app部分内容被备份时使用 Hashing方法被NSSet和NSDictionary来实现。...分为复杂算法和扫描大字符串 b) I/O-Bound:时间花费在等待从其它source获取数据上。 当CPU需要从一个现场切换到另一个线程是,需要话费时间和资源。...以下类是线程安全的:NSArray,NSConnection,NSData,NSDictionary,NSNumber,NSObject,NSSet,NSString 以下类,一般是mutable,是线程不安全的
ReplayKit在iOS 9之后引入,其接口简介,可以非常方便的为应用添加录屏功能。需要注意,在某些iOS 12系统上,开启录屏可能会失败(通常需要重启设备解决)。 ...在ReplayKit框架中,有两个非常重要的类,分别是RPScreenRecorder类与RPPreviewViewController类。...RPScreenRecorder是录屏核心功能类,RPPreviewViewController是录屏结束后的预览控制器类。 ... *)activityTypes { NSLog(@"didFinishWithActivityTypes %@", activityTypes); } @end 其中... *)activityTypes; @end
NSArray代表有序可重复的集合;NSSet代表无序不可重复的集合;NSDictionary代表具有映射关系的集合。显然,这三类集合分别对应这Java中的List、Set和Map。 ...集合类和数组不一样,数组元素既可以是基本类型的值,也可以是对象(实际上保存的是对象的指针变量),而集合里则只能保存对象(实际上保存的是对象的指针变量,但通常认为集合里爆粗你的是对象)。...NSArray分别提供了类方法和实例方法来创建NSArray,两种创建方式基本类似,只是类方法以array开头,实例方法以init开头。...NSSet中,重写这个类的isEqual:方法和hash方法时,应该尽量保证两个对象通过isEqual:方法比较返回YES时,他们的hash方法返回值也是一样的。...NSMutableSet在NSSet上增加了增加元素、删除元素的方法之外,还增加了对集合进行计算交集、并集和差集的方法。
*fileName; @end II 原生API的文件预览及其他应用打开 - (BOOL)presentOptionsMenuFromRect:(CGRect)rect inView:(UIView...canPerformAction %s", __func__); return YES;//显示copy print // return NO; } III 案例 3.1 文件下载和预览..."]; return ; } // //用单例类 NSFileManager的对象,将文件写入本地..."]; return nil; } // //用单例类 NSFileManager的对象...9.0, *)) { NSSet *websiteDataTypes = [WKWebsiteDataStore allWebsiteDataTypes]; NSDate
CallKit是iOS10引入的新框架,使用它可以让你的应用程序调用系统的通话和通话记录界面。...创建完成后,在证书列表可以看到多了一个VOIP服务证书,可以加载此证书进行VOIP推送。 ?...需要注意,上图在CallKit和System之间有两个双向的白色箭头,这描述了CallKit和系统交互的四个方向。 ...同样,其中还有一个fail和timeout函数,调用它要通知系统此行为执行失败和超时。...默认的CallDirectoryHandler类为来电拦截与身份识别的操作类,其集成自CXCallDirectoryProvider类,当收到加载号码库的请求时,会执行下面的函数: - (void)beginRequestWithExtensionContext
忽然发现手头上也没什么独立App,那就随便写个放到AppStore上吧,凑个数吧。哈哈哈。 ? 这个App是无聊找配色的时候看到的一套图 ?...ios版.png ? 自定义.png ? 收藏.png 上架的时候再做点效果图配点文字 就搞定了。...广告版集成了google的Admob 不过测试发现模拟器能正常显示真机加了设备id也不能显示,经常空加载。。 最近申请了腾讯的广告 广点通 提交了新的版本。...2.6提交的 ,今天(2.7)正式过审,就有收益了,估计都是自己和apple测试的时候展示的。 ? 来?了 ?...大家可能也看到了,这是个很简单的App,无非就是几个列表展示下分类的颜色和收藏的颜色,担心功能太单一,所以又添加了自定义色。下面我们来讲 项目 Demo吧。 效果 ?
虚拟内存工作原理 2. 虚拟内存分页 刚刚提到虚拟内存和物理内存通过映射表进行映射,但是这个映射并不可能是一一对应的,那样就太过浪费内存了。为了解决效率问题,实际上真实物理内存是分页的。...而映射表同样是以页为单位的。换句话说,映射表只会映射到某一页,并不会映射到具体每一个地址。 Mac OS 、linux内存 4kb一页,iOS是16kb一页。...可以使用 pagesize 命令,在终端直接查看。4096字节=4千字节。 0 和 1 代表当前地址有没有在物理内存中。...并且在 iOS 系统的生产环境应用,在发生缺页中断进行重新加载时 ,iOS 系统还会对其做一次签名验证,因此 iOS 生产环境的 Page Fault 所产生的耗时要更多。...对用户而言,使用App时第一个直接体验就是启动 App 时间,而启动时期会有大量的类、分类、三方等等需要加载和执行,此时大量`Page Fault`所产生的的耗时往往是不能小觑的。
KVO是在MVC应用程序中的各层之间进行通信的一种特别有用的技术。 KVO和NSNotification都是iOS中观察者模式的一种实现。 KVO可以监听单个属性的变化,也可以监听集合对象的变化。...集合对象包含NSArray和NSSet。 KVO和KVC有着密切的关系,如果想要深入了解KVO,建议先学习KVC。 传送门:iOS - 关于 KVC 的一些总结 2....斯坦福大学的iOS教程中有一个很经典的案例,通过KVO在Model和Controller之间进行通信。...,是依赖于其他值的属性名(首字母大写): + (NSSet *)keyPathsForValuesAffectingDownloadProgress { return...6.4 FBKVOController 的使用 FBKVOController实现了观察者和被观察者的角色反转,系统的KVO是被观察者添加观察者,而FBKVO实现了观察者主动去添加被观察者,实现了角色上的反转
系统下,UITabbar上的item自定义背景色和图片问题 http://blog.sina.com.cn/s/blog_64cfe8f00102v0yn.html 3 xcode上version和build...,如何屏蔽emoji表情输入的问题,因为苹果自带的表情在其他设备上不支持。...( UIOffset offset); 14 Catalog不应履行继承职责,即尽量不要重写源类继承自基类的方法 Catalog中如果重写基类方法的话,即使其他地方没有引用该类,系统照样会执行进入...报错时的提示一般都是“Undefined symbols for architecture armv7”之类的,而“for architecture armv7”就是说没有支持armv7,在Build...但是在IOS6的一台Iphone4s和IOS7的ipad air2上面在最后安装的时候居然安装失败,提示 There was an internal API error.
领取专属 10元无门槛券
手把手带您无忧上云