Develope of IOS
文章平均质量分 56
Jack_iosCreater
技术宅统治世界
展开
-
xcode以及max系统下的常用快捷键
总的来说,在windows下的快捷键ctrl + 。。 变换为了 mac 下的 command + 。。 win 就是 command 一.常用快捷键1.Xcode部分:win+N:新建文件win+shift+N:新建工程win+O:打开工程或文件win+S:保存win+shift+S:另存为win+Z:撤销一步原创 2015-03-02 08:56:30 · 221 阅读 · 0 评论 -
StoryBoard中tableView中cell的各个属性说明
表视图(UITableView)与表视图控制器(UITableViewController)其实是一回事。 表视图控制器是一种只能显示表视图的标准视图控制器,可在表视图占据整个视图时使用这种控制器。虽然如此,相对于使用标准视图控制器并自行添加表视图,使用表视图控制器除了将自动设置委托和数据源属性外,没有任何其它的优势。对于表视图,最基本的设置是Content(内容)属性,它包含两个值:Stat原创 2015-10-19 23:18:23 · 1662 阅读 · 0 评论 -
UIImage方法的优化问题,当图片多时应该重写imageNamed方法
一、加载图片问题UIImage image = [UIImage imageNamed:imageFileName];这种图片加载方式带有图片缓存的功能,使用这种方式加载图片后,图片会自动加入系统缓存中,并不会立即释放到内存。一些资源使程序中经常使用的图片资源,使用这种方式会加快程序的运行减少IO操作,但对于项目中只用到一次的图片,如果采用这种方案加载,会增导致程序原创 2015-10-16 00:12:38 · 774 阅读 · 0 评论 -
layoutSubviews的触发情形
layoutSubviews是UIView中的属性方法,即只要继承于UIView,就可以使用这个方法,这个方法也很强大,以下是他的触发时机:1、init初始化不会触发layoutSubviews 2、addSubview会触发layoutSubviews 3、设置view的Frame会触发layoutSubviews,当然前提是frame的值设置前后发生了变化 4、滚动一个原创 2015-10-20 21:24:29 · 282 阅读 · 0 评论 -
Could not load the "xxx.jpg" image referenced from a nib 解决方案
Could not load the "xxxx.jpg" image referenced from a nib in the bundle with identifier是因为我拖动文件夹到Supporting Files的时候选择了Create folder references应该选第一个Create groups我去百度了下:1.Create groups for any原创 2015-09-16 20:25:03 · 610 阅读 · 0 评论 -
iOS沙盒中几种数据存储常用的方式
1、iOS应用数据存储的常用方式XML属性列表(plist)归档Preference(偏好设置)NSKeyedArchiver归档(NSCoding)SQLite3 Core Data2、应用沙盒每个iOS应用都有自己的应用沙盒(应用沙盒就是文件系统目录),与其他文件系统隔离。应用必须待在自己的沙盒里,其他应用不能访问该沙盒应用沙盒的文件系统目录,如下图所示(假转载 2015-10-21 23:34:49 · 1633 阅读 · 0 评论 -
如何理解iOS中的同步和异步
举个例子:普通B/S模式(同步)AJAX技术(异步) 同步:提交请求->等待服务器处理->处理完毕返回 这个期间客户端浏览器不能干任何事 异步: 请求通过事件触发->服务器处理(这是浏览器仍然可以作其他事情)->处理完毕 同步就是你叫我去吃饭,我听到了就和你去吃饭;如果没有听到,你就不停的叫,直到我告诉你听到了,才一起去吃饭。 异步就是你叫我,然后自己去吃饭,我转载 2015-10-22 15:28:46 · 768 阅读 · 0 评论 -
UIAlertView变成了UIAlertController
iOS8推出了几个新的“controller”,主要是把类似之前的UIAlertView变成了UIAlertController,这不经意的改变,貌似把我之前理解的“controller”一下子推翻了~但是也无所谓,有新东西不怕,学会使用了就行。接下来会探讨一下这些个新的Controller。 ---- iOS8中提示框的使用UIAlertController(UIAlertV转载 2015-09-21 10:45:41 · 294 阅读 · 0 评论 -
iOS中self.xxx 和 _xxx 下划线的区别
@property (nonatomic,copy) NSString *propertyName;self.propertyName 是对属性的访问;_propertyName 是对局部变量的访问。其一、@property的声明中,编译器在生成getter,setter方法时是有优先级的,它首先查找当前的类中用户是否已定义属性的getter,setter方法,如果有,则编译器转载 2015-10-25 16:21:38 · 354 阅读 · 0 评论 -
alloc]init 时候会调用initWithFrame方法
initWithFrame方法的理解 (2013-01-20 17:15:54)转载▼标签: initwithframe nib文件 it分类: 帮助文档有时候,知道initWithFrame方法如何用,但是么有弄明白initWithFrame方法到底是什么?那就通过查资料弄明白。转载 2015-10-26 16:00:33 · 917 阅读 · 0 评论 -
size class 初探
以前和安卓的同学聊天的时候,谈到适配一直是一个非常开心的话题,看到他们被各种屏幕适配折磨的欲仙欲死,心里真替他们高兴。不过在做到 iPhone 和 iPad 的适配的时候,一个页面需要配置多个 xib 进行开发还是个很头疼的事情。再加上 iPhone6 和 iPhone6 plus 的发布,适配似乎也变得麻烦起来。今天了解了 iOS8 中的 Size Class 之后,真的笑,笑出声。简介原创 2015-10-25 23:46:07 · 176 阅读 · 0 评论 -
iOS中常见的3种循环引用情况
ARC已经出来很久了,自动释放内存的确很方便,但是并非绝对安全绝对不会产生内存泄露。导致iOS对象无法按预期释放的一个无形杀手是——循环引用。循环引用可以简单理解为A引用了B,而B又引用了A,双方都同时保持对方的一个引用,导致任何时候引用计数都不为0,始终无法释放。若当前对象是一个ViewController,则在dismiss或者pop之后其dealloc无法被调用,在频繁的push或者pres转载 2015-10-11 11:45:14 · 438 阅读 · 0 评论 -
如何避免block中不停的使用weak self
原创 2015-10-11 12:13:11 · 222 阅读 · 0 评论 -
iOS中添加自定义字体
1.将需要的字体库xxx.ttf添加到工程中,注意一定要在copy bundle resources中存在,如果没有添加上去2.在info.plist 文件中添加 fonts provided by application 默认为array,也可以使用dictionary 添加value为 xxx.ttf 可以添加多个,使用的时候写对应字体名字就行。转载 2015-10-11 16:55:59 · 186 阅读 · 0 评论 -
push view controller 和 present view controller的区别
1. 用UINavigationController的时候用pushViewController:animated----返回之前的视图[[self navigationController] popViewControllerAnimated:YES];---ps:push以后会在navigation的left bar自动添加back按钮,它的响应方法就是返回。所以一般不需要写返回方法,转载 2015-10-11 17:13:30 · 366 阅读 · 0 评论 -
如何提高iOS中app的性能
以下这些技巧分为三个不同那个的级别---基础,中级,高级。 基础 这些技巧你要总是想着实现在你开发的App中。 1. 用ARC去管理内存(Use ARC to Manage Memory) 2.适当的地方使用reuseIdentifier(Use a reuseIdentifier Where Appropriate) 3.尽可能设置视图原创 2015-10-11 17:24:04 · 183 阅读 · 0 评论 -
iOS中多线程的使用
一、进程和线程1.什么是进程 进程是指在系统中正在运行的一个应用程序每个进程之间是独立的,每个进程均运行在其专用且受保护的内存空间内 比如同时打开QQ、Xcode,系统就会分别启动2个进程通过“活动监视器”可以查看Mac系统中所开启的进程 2.什么是线程1个进程要想执行任务,必须得有线程(每1个进程至转载 2015-10-13 08:42:59 · 161 阅读 · 0 评论 -
UIWebView不能连接网络,并且报错App Transport Security has blocked a
误描述:App Transport Security has blocked a cleartext HTTP (http://) resource load since it is insecure. Temporary exceptions can be configured via your app‘s Info.plist file. 在iOS9 beta中,苹原创 2015-10-02 21:31:00 · 232 阅读 · 0 评论 -
网络获取json解析
JSON正逐步取代XML,成为网络数据的通用格式。从ios5开始,使用NSJSONSerialization对JSON解析。还有第三方库,比如SBJson, JSONKit, TouchJson等。从性能上说,NSJSONSerizlization最好,JSONKit其次,SBJson使用较为广泛。加载json文件:[objc] view p转载 2015-10-18 11:01:39 · 245 阅读 · 0 评论 -
SDK与API的区别
SoftwareDevelopmentKit,软件开发工具包Application Programming Interface,应用程序编程接口API 一般属于系统提供的应用接口,可以调用一些系统封装好的底层功能。SDK 一般为厂商提供,在API的基础上,进一步加入自己的功能,封装后使用,称为软件开发包原创 2015-03-08 10:13:49 · 246 阅读 · 0 评论 -
ios中的名词概念
notification 消息Notification是智能手机应用编程中非常常用的一种传递信息的机制,而且可以非常好的节省资源,不用消耗资源来不停地检查信息状态(Pooling),在iOS下应用分为两种不同的Notification种类,本地和远程。本地的Notification由iOS下NotificationManager统一管理,只需要将封装好的本地Notification对象原创 2015-03-08 14:50:47 · 821 阅读 · 0 评论 -
ios中json的四种解析方法
作为一种轻量级的数据交换格式,json正在逐步取代xml,成为网络数据的通用格式。有的json代码格式比较混乱,可以使用此“http://www.bejson.com/”网站来进行JSON格式化校验(点击打开链接)。此网站不仅可以检测Json代码中的错误,而且可以以视图形式显示json中的数据内容,很是方便。从IOS5开始,APPLE提供了对json的原生支持(NSJSONSe转载 2015-03-08 15:42:25 · 291 阅读 · 0 评论 -
代码手写UI,xib和StoryBoard间的博弈,以及Interface Builder的一些小技巧
代码手写UI这种方法经常被学院派的极客或者依赖多人合作的大型项目大规模使用。Geek们喜欢用代码构建UI,是因为代码是键盘敲出来的,这样可以做到不开IB,手不离开键盘就完成工作,可以专注于编码环境,看起来很cool很高效,而且不到运行时大家都不知道会是什么样子,也显出了程序员这一职业的高大上及神秘气息(这个真的不是在黑..想想大家一起在设计师背后指点江山的场景吧)。大型多人合作项目使用代码转载 2015-03-08 15:30:56 · 377 阅读 · 1 评论 -
app与服务器对接的http 协议与socket协议区别
app与后台转载 2015-03-08 09:22:16 · 4627 阅读 · 0 评论 -
成员变量、实例变量、属性之间的关系
首先来区别一下实例变量、成员变量的区别:可以看到在接口 @interface 括号里面的统称为”成员变量”,实例变量是成员变量中的一种!实例变量的英文翻译是 Instance Variable (object-specificstorage) 实例的英文翻译为Instance(manifestation of a class) 说的是“类的表转载 2015-03-12 08:59:45 · 359 阅读 · 0 评论 -
在ios中强引用与弱引用的区别
强引用也就是通常所讲的引用,其存亡直接决定了所指对象的存亡。如果不存在指向一个对象的引用,并且此对象不再显示列表中,则此对象会被从内存中释放。弱引用除了不决定对象的存亡外,其他与强引用相同。即使一个对象被持有无数个若引用,只要没有强引用指向他,那么其还是会被清除简单来说,strong等同retain(ARC之前),而weak和assign,weak比assign多了一个功能,当对象消失转载 2015-03-12 09:04:27 · 1661 阅读 · 0 评论 -
ios界面设计时候的分辨率参数
1 iOS设备的分辨率iOS设备,目前最主要的有3种(Apple TV等不在此讨论),按分辨率分为两类iPhone/iPod Touch普屏分辨率 320像素 x 480像素Retina分辨率 640像素 x 960像素iPad,iPad2/New iPad普屏 768像素 x 1024像素Retina屏 1536像素转载 2015-09-08 10:45:36 · 607 阅读 · 0 评论 -
关于nil和 null和NSNull的区别及相关问题
关于nil和 null和NSNull的区别及相关问题1、nil和null从字面意思来理解比较简单,nil是一个对象,而NULL是一个值,我的理解为nil是将对象设置为空,而null是将基本类型设置为空的,个人感觉有点像属性当中,基本类型分配为assign NSString类型一般分配copy,而对象一般用retain。而且我们对于nil调用方法,不会产生crash或者抛出异常。看一原创 2015-09-09 22:57:40 · 131 阅读 · 0 评论 -
ios开发项目目录结构设计
目录结构12345678AppDelegateModelsMacroGeneralHelpersVendorsSectionsResources一个合理的目录结构首先应该是清晰的,让人一眼看上原创 2015-09-06 11:07:31 · 193 阅读 · 0 评论 -
IOS常用第三方框架
1.jsonjson编码解码2.GTMBase64 base64编码解码3.TouchXML 解析4.SFHFKeychainUtils 安全保存用户密码到keychain中5.MBProgressHUD很棒的一个加载等待特效框架6.ASIHTTPRequest 等相关协议封装7.EGORefreshTableHeaderView 下拉刷新代码8.AsyncImag转载 2015-09-26 15:23:12 · 208 阅读 · 0 评论 -
ViewController之间如何传递数据
我们假设有 视图控制器A 和 视图控制器B,其中我们设视图控制器B 是由 视图控制器A通过Navigation controller Push过去的,也就是说视图控制器B是视图控制器A的子视图控制器。下面我们就分别通过 A->B 和 B->A传递数据说明两种在视图控制器之间传递数据的方法。1.由视图控制器A传递数据给视图控制器B这里,我的视图控制器A是 ViewCont原创 2015-09-26 00:44:15 · 288 阅读 · 0 评论 -
自定义iOS7导航栏背景,标题和返回按钮文字颜色
在iOS7下,默认导航栏背景,颜色是这样的,接下来我们就进行自定义,如果你仅仅是更改一下背景和颜色,代码会很简单,不需要很复杂的自定义View来替代leftBarItem更改导航栏的背景和文字Color方法一:[objc] view plaincopy//set NavigationBar 背景颜色&tit转载 2015-09-06 15:55:02 · 162 阅读 · 0 评论 -
ios 7 statusbar 状态栏 跟随navigationbar的颜色而改变
ios7以下的版本设置导航栏背景颜色可以使用[[UINavigationBar appearance] setTintColor:[UIColor orangeColor]];ios7以后:[[UINavigationBar appearance] setBarTintColor:[UIColor orangeColor]];默认带有一定透明效果,可以使用以转载 2015-09-08 10:50:54 · 203 阅读 · 0 评论 -
ios开发中将状态栏字体颜色更改为白色
ios上状态栏 就是指的最上面的20像素高的部分 状态栏分前后两部分,要分清这两个概念,后面会用到:前景部分:就是指的显示电池、时间等部分;背景部分:就是显示黑色或者图片的背景部分;如下图:前景部分为白色,背景部分为黑色 步骤1、 在Info.plist中设置UIViewControllerBasedStatusBarAppear原创 2015-09-07 16:47:31 · 277 阅读 · 0 评论 -
ios9 设置开机画面隐藏状态栏
写成[application setStatusBarHidden:NO withAnimation:UIStatusBarAnimationFade]出现提示说使用方法过期。提示 使用 [UIViewController preferStatusBarHIdden];这里的UIViewController 可以是任何继承自UIViewController 的子类controller原创 2015-09-29 16:41:21 · 286 阅读 · 0 评论 -
iOSh中多线程的使用
一、什么是多线程1. 每一个进程都是一个应用程序,都有独立的内存空间,一般来说一个应用程序存在一个进程,但也有多个进程的情况。2. 同一个进程中的线程共享内存中内存和资源。3. 线程处理方式通过堆栈的形式来处理的,先进后出。放在堆内存里面管理4. 每一个程序如果要运行,它都会创建一个主线程(每个程序都有一个主线程),程序启动时转载 2015-10-13 08:57:33 · 199 阅读 · 0 评论