一.loadView 永远不要主动调用这个函数.view controller会在view的property被请求并且当前view值为nil时调用这个函数.如果你手动创建view,你应该重载这个函数.如果你用IB创建view并初始化view controller,那就意味着你使用initWithNibName:bundle:方法,这时,你不应该重载loadView函数. 这个方法的默认实现是这样:先寻找有关可用的nib文件的信息,根据这个信息来加载nib文件,如果没有有关nib文件的信息,默认实…
转载记录, 请看原文: 1. iOS中的各种加载方法(initWithNibName,loadNibNamed,initWithCoder,awakeFromNib等等)简单使用   http://www.jianshu.com/p/b1352b483d85 2. initWithNibName与一般init的区别  http://blog.csdn.net/zengraoli/article/details/12882017 ============= 常用的加载方法大概有这么几个1.init…
init/loadView/viewDidLoad/viewDidUnload 这么细节的东西想来大家都不在意,平时也不会去关系,但是在面试时却常常被提到,所以了解viewController的生命周期还是很有必要的.由init.loadView.viewDidLoad.viewDidUnload.dealloc的关系说起init方法在init方法中实例化必要的对象(遵从LazyLoad思想)‍init方法中初始化ViewController本身 loadView方法当view需要被展示而它却是…
IOS 多个UIImageView 加载高清大图时内存管理 时间:2014-08-27 10:47  浏览:59人 当我们在某一个View多个UIImageView,且UIImageView都显示的是高清大图,就有可能出现内存警告的问题.如果第一次进入这个view,没有发生内存警告,当再次进入这个view,如果上一次的内存   当我们在某一个View  多个UIImageView,且UIImageView都显示的是高清大图,就有可能出现内存警告的问题.如果第一次进入这个view,没有发生内存警告…
加载关系数据 Mego允许您使用模型中的导航属性来加载相关数据对象.目前只支持强制加载数据对象.只有正确配置了关系才能加载关系数据,相关内容可参考关系配置文档. 加载对象属性 您可以使用该Include方法指定要包含在查询结果中的相关数据.在以下两个示例中,结果中返回的订单中会包含相应客户的数据填充到Customer属性中. using (var db = new OrderManageEntiti()) { var data = db.Orders.Include(a => a.Custome…
[iOS系列]-UIWebView加载网页禁止左右滑动 问题: 做项目时候,用UIWebView加载网页的时候,要求是和微信网页中打开的网页的效果一样,也即是只能上下滑动,不能左右滑动,也不能缩放. 根据要求把webview.scalesPageToFit = NO;这样就不能对网页进行缩放了, 但是仔细的看加载的网页,还是能看清,左右有能够轻微的滑动,效果如下: 分析: 网上搜索发现好多人也是有同样的疑惑,看了一会也没有解决方案.索性就自己解决了,解决方案如下: 首先,UIWebView里面是…
最近线上测试中出现一个奇怪的问题,ios客户端浏览器样式加载失效. 从表象来看,同样的css,安卓手机上可以正常展示,但是到ios手机上首次进入页面就不能正常显示 这时候,我们首先会考虑是不是ios设备的兼容问题? 于是乎,第一想到的就是问度娘,ios手机浏览器不能正常展示css是什么原因?这么泛泛的问题,想找到你的答案如同大海捞针. 其次想到的就是在测试环境调试一下,结果测试机在测试环境看是正常的,线上环境看问题复现率100%.这时就想着看看css资源路径有什么差异,为什么上面的css不展示,…
1.loadView 这是视图控制器用来加载根视图的方法; 如果需要将自定义的视图作为根视图,则不需要调用父类对该方法的实现([super loadView]);直接将自定义视图通过self.view定义为视图控制器的根视图; 自定义视图中的简单响应事件也应由视图控制器来进行处理,写在此方法内; 2.viewDIdLoad 当视图控制器的根视图加载完成之后触发该方法;(也就是loadView调用完成之后会立即调用该方法); 需要调用父类对该方法的实现; 该方法可以对根视图进行简单的一些设置,比如…
/* * @brief 图片加载通用函数 * @parma imageName 图片名 */ - (void)imageStartLoading:(NSString *)imageName{ NSURL *url = [NSURL URLWithString:imageName]; if([_fileUtil hasCachedImage:url]){ UIImageView *imageView = [[UIImageView alloc] init]; NSString *path = [_…
今天帮同事解决问题的时候发现,程序BUG是由加载过程引起的.所以当局部代码没有问题,但是程序一运行却总不是我们想要结果的时候,我们应该想想是不是因为我们忽略了试图加载过程的原因.下面我们用一个例子来简单介绍一下启动过程中常见的几个方法.首先我们通过XIB 创建了一个试图控制器(名字叫Empty ,不要问我为为啥它叫这个名字,因为我太懒了,鼠标点快了就没去改),又创建了一个UIView的子类(MyView),并且将Empty的对象 设置为窗口的根控制器,MyView 的一个对象设置为Empty的主…
一.为什么要懒加载? 答: iPhone设备内存有限,如果在程序在启动后就一次性加载将来会用到的所有资源,那么久可能会耗尽iOS设备的内存.这些资源例如大量的数据,图片,音频,过多的控件等. 二.懒加载思想是什么? 答: 简单的将就是拖到最后一刻,万不得已了,才加载,才开始占用资源.所谓懒加载,写的就是其getter方法.在开发中,当程序中需要利用的资源时,在程序启动的时候不加载,只有在运行当需要这些资源的时候再去加载这些资源. 三: 懒加载的好处 答: 1.不必将创建对象的代码全部写在view…
学习带图片的列表 官方 LazyTableImages demo  http://download.csdn.net/detail/jlyidianyuan/5726749 分析源码是学习的好方法. 源码结构如上,不能运行,加红框内容. 项目结构 挨个看源文件 /* Copyright (C) 2017 Apple Inc. All Rights Reserved. See LICENSE.txt for this sample’s licensing information Abstract:…
昨天,一个朋友让我帮他在IOS上弄这样一件事情: webView 调用远程URL,并且让远程的web 通过自定义标签能实现内嵌本地的图片.js 或音频等. 比如:在服务器端 的html文件中 这样写到 <html> <body> <h1>we are loading a custom protocl</h1> <b>image?</b><br/> <img src="myapp://image1.png&q…
imageIO完成渐进加载图片 不得不说,人都是有惰性的,一个月又快结束了,这个月虽说有点儿忙,但是绝对不差写几篇博客的时间,有时间去n次桌球厅,有时间玩n把英雄联盟,所谓小撸怡情大撸伤身,这个月游戏打得有点儿多,后面还是的控制一点儿.不扯了,下面进入正题,今天写写这个月初时使用imageIO框架实现的一个从web拉取,渐进加载图片的图片. 前面有一篇<使用imageIO获取和修改图片的exif信息>介绍了使用imageIO获取图片的exif信息,在看到Image I/O Programmin…
摘要:1:ios通过抽象类NSOperation封装了gcd,让ios的多线程变得更为简单易用:   2:耗时的操作交给子线程来完成,主线程负责ui的处理,提示用户的体验   2:自定义operation继承自NSOperation,在子线程中下载图片: 3:保证图片只下载一次,还有保证下载任务不重复 ------------------------------------------------------------------------------------ 实现原理:1:图片缓存:用…
最近项目要用webView加载js文件,挺同事说WKWebView比UIWebView更加好用,于是我今天就试试,百度一发,自己写了个demo. 先看我写的代码,然后再来看WKWebView跟UIWebView的区别: 首先,遵循这两个协议WKNavigationDelegate,WKScriptMessageHandler. 接着,获取JS文本. JS交互 - (void)getJS { NSString * js = @"window.webkit.messageHandlers.obser…
正确选择图片加载方式能够对内存优化起到很大的作用,常见的图片加载方式有下面三种: //方法1 UIImage *imag1 = [UIImage imageNamed:@"image.png"]; //方法2 UIImage *image2 = [UIImage imageWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"image.png" ofType:nil]]; //方法3 NSData…
iphone(UITableViewCell)动态加载图片http://developer.apple.com/library/ios/#samplecode/LazyTableImages/Introduction/Intro.html其实在iphone上面是实现图片的动态加载,其实也不是很难,其中只要在代理中实现方法就可以首先在头文件中声明使用到的代理 如  @interface XXX : UIViewController<UIScrollViewDelegate>然后在.m中实现//滚…
刚发布版本,忽然发现加载界面需要3-5秒延迟,那么问题来了. 首先,发现问题: 1.看代码,基于之前版本更新都没出问题,还是比较确信不是代码中的bug,以防万一,还是仔细看了下关于界面跳转部分的代码,那么ok,问题不在这里. 2.然后用工具,看看界面延迟在哪些地方了,打开instruments,启动我的app,得到运行结果如下图. 发现是在TableViewController 在调用 dequeueReusableCellWithIdentifier: 函数的时候耗时过长,打开System L…
1.在开发过程中很多时候,很多控件和对象需要alloc为了,提高开发效率使得懒加载得以产生. 2.下边用代码解释: - (NSMutableArray *)newsArr{ if (!_newsArr) { self.newsArr = [NSMutableArray array];//1 // 2. _newsArr = [[NSMutableArray alloc]init]; // 3. _newsArr = [NSMutableArray array]; } return _newsAr…
懒加载——也称为延迟加载,即在需要的时候才加载(效率低,占用内存小).所谓懒加载,其实是重写getter方法. 注意:如果是懒加载的话则一定要注意先判断是否已经有了,如果没有那么再去进行实例化 使用懒加载的好处: (1)不必将创建对象的代码全部写在viewDidLoad方法中,代码的可读性更强 (2)每个控件的getter方法中分别负责各自的实例化处理,代码彼此之间的独立性强,松耦合 代码示例: //需求:创建自定义的cell,包含头像,姓名,电话,和拨打电话按钮. //重写cell的初始化方法…
1. 项目中要做类似下面的加载动画: 先给出安卓的实现方式 2.iOS的实现方式参考了下面两位的,感谢. 以任意底部图片为背景的加载动画 和 水波纹动画 最后附上自己的demo…
一般app在启动的时候都会有广告页,广告页用来加载自己的或者第三方的广告,广告的展示形式也多种多样,最近在看swift相关的东西,这里将提供支持加载图片广告和视频广告的解决方案 思路: 我们知道在加载启动页广告的时候,都需要将内容下载下来才可以正常加载出来(要不然一边启动一边加载,如果网速比较慢,可能时间都过了,图片或者视频仍然没有加载出来),所有一般加载图片需要事先把图片内容或者视频内容缓存在本地,下一次打开app的时候,查询上一次下载的内容并显示出来,同时调用服务端接口将本次的广告内容缓存起…
一.效果展示 WKWebProgressViewDemo.gif 二.主要步骤 1.添加UIProgressView属性 @property (nonatomic, strong) WKWebView *wkWebView; @property (nonatomic, strong) UIProgressView *progressView; 2.初始化progressView - (void)viewDidLoad { [super viewDidLoad]; //进度条初始化 self.pr…
UIWebview加载搜狐视频,自动跳回搜狐客户端 问题解决 当我们用UIWebview(iOS端)加载网页视频的时候,会发现,当真机上有搜狐客户端的时候,会自动跳转到搜狐客户端进行播放,这样的体验对我们的体验并不好,所以应该禁掉. 问题分析: 首先想到的是这种情况肯定是网页的上的js引发的,于是就查看到网页源码中有这样的js function() { try { var u = navigator.userAgent; var m = u.match(/iPhone|iPad|iPod/i);…
最近研究了一下UITbleView中异步加载网络图片的问题,iOS应用经常会看到这种界面.一个tableView上显示一些标题.详情等内容,在加上一张图片.这里说一下这种思路. 为了防止图片多次下载,我们需要对图片做缓存,缓存分为内存缓存于沙盒缓存,我们当然两种都要实现.由于tableViewCell是有重用机制的,也就是说,内存中只有当前可见的cell数目的实例,滑动的时候,新显示cell会重用被滑出的cell对象.这样就存在一个问题: 一般情况下在我们会在cellForRow方法里面设置ce…
想当初在学校主攻的是.NET,来到公司后,立马变成java开发,之后又跳到iOS开发,IT人这样真的好么~~  天有不测风云,云还有变幻莫测哎,废话Over,let's go~ 新学iOS开发不久,一直在想一个问题,IB可以图形化设计界面,为毛不直接拿设计好的界面直接复用呢? 百度了很多,发现大部分都是依赖Controller实现,要去设置File Owner,妹的,哥哥只是想复用一个简单的view好么,要你妹的控制器啊,于是接着搜,结果没有神马大的结果,主要是自己懒着动手去实践,今天决定自己去…
使用objc runtime实现懒加载 地址:AutoPropertyCocoa 本文所指懒加载形式如下 - (id)lazyloadProperty{ if(_lazyloadProperty == nil){ _lazyloadProperty = [XClass ...]; } return _lazyloadProperty; } 一般使用宏定义可以轻松完成.但是没有一致性,移植差. 利用objc runtime的动态性实现懒加载可以实现即可增加又可删除功能,也可以避免污染类型.该三方弥…
加载图片的方式: imageNamed: imageWithContentsOfFile: 加载Assets.xcassets这里面的图片: 1> 打包后变成Assets.car 2> 拿不到路径 3> 只能通过imageNamed:来加载图片 4> 不能通过imageWithContentsOfFile:来加载图片 放到项目中的图片: 1> 可以拿到路径 2> 能通过imageNamed:来加载图片 3> 也能通过imageWithContentsOfFile:…
解决办法: 在Appdelegate.m 里面有一个从后台进入前台所响应的方法,可以在该方法里post 一个通知,在加载动画里的页面接受通知,响应一定的方法即可 #pragma -mark 当程序进入从后台运行进入前台时,调用的方法 -(void)applicationWillEnterForeground:(UIApplication *)application { [[NSNotificationCenter defaultCenter]postNotificationName:@"appl…