从Android到IOS,IOS应用生命周期函数

由于对于自己的C基础还算满意,花了一个月断断续续的把OC看完了,最近在看一些IOS开发的知识。初次创建一个IOS项目,xCode会自动生成这些文件与目录从头开始,应用首次执行会先从main函数开始执行。int main(int argc, char * argv[]) { @autoreleasepool { return UIApplicationMain(argc, argv, nil...
Android开发 IOS应用

Objective-C的Runtime

Objective-C语言是开源的,虽然现在Swift红红火火,但是Runtime是以前就容易被忽略的特性之一,所以在这个弥留之际,做一个总结还是有一些怀旧意义的首先Runtime的概念就是编译器会把编译和链接的逻辑尽可能的放在运行的时候运行,这样提升灵活性。Objective-C 的 Runtime 是一个运行时库(Runtime Library),它是一个主要使用 C 和汇编写的库,为 C 添...
Objective-C Runtime

UIDynamic和iOS7的物理效果

接着上一篇文章,这里整理一下UIMotionEffect的姊妹篇,说说iOS7中的UIDynamics和物理效果。做过游戏开发、用过游戏开发引擎的朋友们可能对Box2D、chipmunk并不陌生,他们可以使你开发出来的游戏具有各种物理效果。在iOS7中,也有类似的工具,不过它不是物理引擎,他是UIKit提供的非常方便的API,UIDynamic。0. UIDynamic概述在iOS7的锁屏页,在右...
UIDynamic iOS开发

iOS开发-数据存储NSCoder

软件中永远绕不开的一个问题就是数据存储的问题,PC的时候一般都是选择在数据库中存储,iOS如果是和后端配合的话,那么不需要考虑数据存储的这个问题,上次写了一下plist的存储,不过数据都是存储一些简单的键值对对象。本次需要将一些自己定义的类型存储在plist比如说图片,这个时候可以利用NSCoding协议,将数据地以类似档案的形式存储到plist文件中,然后从plist的文件中读取数据,使用协议的...
数据存储 NSCoder iOS开发

Qt for iOS,Qt 与Objective C混合编程

最近有好几个使用Qt的朋友问起 Qt for iOS 的事情,因为我在这方面的经验特别少,写不出系统的文章来,非常抱歉,不能给出令人满意的答复,推荐大家去看Jason’s Home ,在我博客左侧边栏的友情链接里也有,他提供了 Qt for iOS 的一些非常有意义的文章,而且是基于实践的,他的 App 已经在 App Store 中上线。至于我呢,在这篇文章里,简单介绍一些如何混合 Qt 与 O...
Objective C iOS开发

iOS开发-NSPredicate

Cocoa中谓词(Predicate)提供了一个通用的查询方式处理数据,可以获取和指定数据的过滤形式,Cocoa实际开发中可以是使用NSPredicate及其父类NSComparisonPredicate和NSCompoundPredicate.其风格类似于SQL查询语言和正则表达式的混合体,提供了具有表现力的,自然语言界面来定义一个集合被搜寻的逻辑条件。一般来说稍微操作过数据库基本上很容易理解其...
iOS开发 NSPredicate

写iOS SDK注意事项

我发现即使是像腾讯、小米这样的大厂提供的 SDK 质量在规范上也有很多问题,而且包括我以及我身边的很多朋友都被恶心到了,所以我就把这些注意事项总结出来,希望大家不要犯同样的错误。注意事项一:所有类名都应该加前缀说明:没有前缀的类名有冲突的风险。Bad Case:微信分享的 SDK,文件名: WXApiObject.h ,代码如下,其中 BaseReq 类和 BaseResp 类都没有加前缀。@in...
iOS开发 iOS SDK

iOS开发-plist文件增删改查

plist第一次看到这个后缀名文件的时候感觉怪怪的,不过接触久了也就习以为常了,plist是Property List的简称可以理解成属性列表文件,主要用来存储串行化后的对象的文件。扩展名为 .plist ,因此被称为 plist文件,xCode中默认的是一种树状的结构展现出来数据,可视化的动态增删改查,非常人性化,不过最终的结果是以XML形式存储的,Plist文件可以用于存储用户的一些设置信息,...
plist文件 iOS开发

IOS中block和代理

从ios4开始引入block,就是代码块,结构类c语言基本结构 返回值 (^block名称)(参数):int(^BlockName)(int):返回值为int型,参数是一个int值的叫BlockName的block我们使用一个block时://代码例子 int(^BlockExample)(int); BlockExample=^(intn){returnn*2;}; intresult=B...
IOS开发 block

App如何适应 iPhone 5s/6/6 Plus 三种屏幕的尺寸?

初代 iPhone2007 年,初代 iPhone 发布,屏幕的宽高是 320 x 480 像素。下文也是按照宽度,高度的顺序排列。这个分辨率一直到 iPhone 3GS 也保持不变。那时编写 iOS 的 App(应用程序),只支持绝对定位。比如一个按钮(x, y, width, height) = (20, 30, 40, 50),就表示它的宽度是 40 像素,高度是 50 像素,放在(20, ...
iPhone 5s/6/6 Plus App开发