07 2016 档案
摘要:iOS开发UI篇—九宫格坐标计算 一、要求 完成下面的布局 二、分析 寻找左边的规律,每一个uiview的x坐标和y坐标。 三、实现思路 (1)明确每一块用得是什么view (2)明确每个view之间的父子关系,每个视图都只有一个父视图,拥有很多的子视图。 (3)可以先尝试逐个的添加格子,最后考虑使
阅读全文
摘要:iOS开发UI篇—懒加载 1.懒加载基本 懒加载——也称为延迟加载,即在需要的时候才加载(效率低,占用内存小)。所谓懒加载,写的是其get方法. 注意:如果是懒加载的话则一定要注意先判断是否已经有了,如果没有那么再去进行实例化 2.使用懒加载的好处: (1)不必将创建对象的代码全部写在viewDid
阅读全文
摘要:iOS开发UI篇—简单的浏览器查看程序 一、程序实现要求 1.要求 2. 界面分析 (1) 需要读取或修改属性的控件需要设置属性 序号标签 图片 图片描述 左边按钮 右边按钮 (2) 需要监听响应事件的对象,需要添加监听方法 左边按钮 右边按钮 二、实现基本功能的程序 三、程序优化 说明: 1> 定
阅读全文
摘要:iOS开发UI篇—transframe属性(形变) 1. transform属性 在OC中,通过transform属性可以修改对象的平移、缩放比例和旋转角度 常用的创建transform结构体方法分两大类 (1) 创建“基于控件初始位置”的形变 CGAffineTransformMakeTransl
阅读全文
摘要:iOS开发UI基础—手写控件,frame,center和bounds属性 一、手写控件 1.手写控件的步骤 (1)使用相应的控件类创建控件对象 (2)设置该控件的各种属性 (3)添加控件到视图中 (4)如果是button等控件,还需考虑控件的单击事件等 (5)注意:View Contollor和vi
阅读全文
摘要:iOS开发UI篇—Button基础 一、简单说明 一般情况下,点击某个控件后,会做出相应反应的都是按钮 按钮的功能比较多,既能显示文字,又能显示图片,还能随时调整内部图片和文字的位置 二、按钮的三种状态 normal(普通状态) 默认情况(Default) 对应的枚举常量:UIControlStat
阅读全文
摘要:iOS开发网络篇—发送GET和POST请求(使用NSURLSession) 说明: 1)该文主要介绍如何使用NSURLSession来发送GET请求和POST请求 2)本文将不再讲解NSURLConnection的使用。 3)本文示例代码发送的请求均为http请求,已经对info.plist文件进行
阅读全文
摘要:iOS开发网络篇—使用ASI框架进行文件下载 说明:本文介绍iOS网络编程中经常用到的框架ASI,如何使用该框架进行文件的下载。 一、简单介绍 代码示例: 代码说明:上面的代码从服务器上异步下载文件,每当接收到数据的时候就打印接收到的数据的长度。 打印结果如下: 注意:在实际的开发中不能这样去下载文
阅读全文
摘要:// // CycleScrollView.h // PagedScrollView // // Created by 李洪强 on 16-1-23. // Copyright (c) 2016年 李洪强. All rights reserved. // #import <UIKit/UIKit.h
阅读全文
摘要:iOS开发网络篇—数据缓存 一、关于同一个URL的多次请求 有时候,对同一个URL请求多次,返回的数据可能都是一样的,比如服务器上的某张图片,无论下载多少次,返回的数据都是一样的。 上面的情况会造成以下问题 (1)用户流量的浪费 (2)程序响应速度不够快 解决上面的问题,一般考虑对数据进行缓存。 二
阅读全文
摘要:iOS开发网络篇—发送json数据给服务器以及多值参数 一、发送JSON数据给服务器 发送JSON数据给服务器的步骤: (1)一定要使用POST请求 (2)设置请求头 (3)设置JSON数据为请求体 代码示例: 二、多值参数 多值参数:一个参数对应多个值。 如下面的请求参数: http://192.
阅读全文
摘要:iOS开发网络篇—监测网络状态 一、说明 在网络应用中,需要对用户设备的网络状态进行实时监控,有两个目的: (1)让用户了解自己的网络状态,防止一些误会(比如怪应用无能) (2)根据用户的网络状态进行智能处理,节省用户流量,提高用户体验 WIFI\3G网络:自动下载高清图片 低速网络:只下载缩略图
阅读全文
摘要:iOS开发网络篇—简单介绍ASI框架的使用 说明:本文主要介绍网络编程中常用框架ASI的简单使用。 一、ASI简单介绍 ASI:全称是ASIHTTPRequest,外号“HTTP终结者”,功能十分强大。 ASI的实现基于底层的CFNetwork框架,因此运行效率很高。可惜作者早已停止更新,有一些潜在
阅读全文
摘要:iOS开发网络篇—文件的上传 说明:文件上传使用的时POST请求,通常把要上传的数据保存在请求体中。本文介绍如何不借助第三方框架实现iOS开发中得文件上传。 由于过程较为复杂,因此本文只贴出部分关键代码。 主控制器的关键代码: YYViewController.m 补充说明: 文件上传请求数据格式
阅读全文
摘要:iOS开发网络篇—多线程断点下载 说明:本文介绍多线程断点下载。项目中使用了苹果自带的类,实现了同时开启多条线程下载一个较大的文件。因为实现过程较为复杂,所以下面贴出完整的代码。 实现思路:下载开始,创建一个和要下载的文件大小相同的文件(如果要下载的文件为100M,那么就在沙盒中创建一个100M的文
阅读全文
摘要:iOS开发网络篇—NSURLConnection基本使用 一、NSURLConnection的常用类 (1)NSURL:请求地址 (2)NSURLRequest:封装一个请求,保存发给服务器的全部数据,包括一个NSURL对象,请求方法、请求头、请求体.... (3)NSMutableURLReque
阅读全文
摘要:iOS开发网络篇—数据安全 一、简单说明 1.说明 在开发应用的时候,数据的安全性至关重要,而仅仅用POST请求提交用户的隐私数据,还是不能完全解决安全问题。 如:可以利用软件(比如Charles)设置代理服务器,拦截查看手机的请求数据 “青花瓷”软件 因此:提交用户的隐私数据时,一定不要明文提交,
阅读全文
摘要:Socket就是一种特殊的文件。它是一个连接了两个用户的文件,任何一个用户向Socket里写数据,另一个用户都能看得到,不管这两个用户分布在世界上相距多么遥远的角落,感觉就像坐在一起传纸条一样。 这么讲Socket应该更容易理解吧?这种抽象是非常重要的,因为它屏蔽了更底层的东西,我就想写个程序发送下
阅读全文
摘要:今天实现的是这个功能 01 - 创建PopView,继承自UIbutton 下面来到住控制器里面:
阅读全文
摘要:1.压缩和解压使用第三方框架ssziparchive 底层是c语言的,调用封装好的类 2.导入ssziparchive a.编译报错,要导入动态库libz.o
阅读全文
摘要:iOS开发网络篇—GET请求和POST请求 一、GET请求和POST请求简单说明 创建GET请求 1 // 1.设置请求路径 2 NSString *urlStr=[NSString stringWithFormat:@"http://192.168.1.53:8080/MJServer/login
阅读全文
摘要:iOS开发网络篇—HTTP协议 说明:apache tomcat服务器必须占用8080端口 一、URL 1.基本介绍 URL的全称是Uniform Resource Locator(统一资源定位符) 通过1个URL,能找到互联网上唯一的1个资源 URL就是资源的地址、位置,互联网上的每个资源都有一个
阅读全文
摘要:iOS开发网络篇—搭建本地服务器 一、简单说明 说明:提前下载好相关软件,且安装目录最好安装在全英文路径下。如果路径有中文名,那么可能会出现一些莫名其妙的问题。 提示:提前准备好的软件 apache-tomcat-6.0.41.tar eclipse-jee-kepler-SR2-macosx-co
阅读全文
摘要:iOS开发网络篇—网络编程基础 一、为什么要学习网络编程 1.简单说明 在移动互联网时代,移动应用的特征有: (1)几乎所有应用都需要用到网络,比如QQ、微博、网易新闻、优酷、百度地图 (2)只有通过网络跟外界进行数据交互、数据更新,应用才能保持新鲜、活力 (3)如果没有了网络,也就缺少了数据变化,
阅读全文
摘要:大家总是问一个错误的问题:“我应该学习C++还是Java?”在本文中,我将告诉大伙儿:对于选择编程生涯真正需要关注的是哪些问题。请注意,这篇文章的目标读者并不是那些已经做出自己选择的人。(对于这些人而言)你会继续自己的编程生涯,而不管别人会怎么说。因为它已经渗透到你的血液中,你已经无法摆脱。你已经知
阅读全文
摘要:在sb中创建按钮,并且连线到.m文件中
阅读全文
摘要://定义设置颜色的RGB值的宏 #define RGBA(r,g,b,a) [UIColor colorWithRed:r/255.0 green:g/255.0 blue:b/255.0 alpha:a]
阅读全文
摘要:创建LHQTextField 继承自: UITextField 将我自定义的textField在面板中进行关联 此时,在设置刚来添加的属性的值的时候,就会立马出效果
阅读全文
摘要:IBInspectable的使用 创建一个分类 定义属性 把此分类的头文件引入到pch里面 此时查看属性面板 就有了可以供我们勾选的选项 在.m中实现一下set和get方法
阅读全文
摘要:iOS开发拓展篇——如何把项目托管到GitHub 说明:本文主要介绍如何把一个OC项目托管到Github,重操作轻理论。 第一步:先注册一个Github的账号,这是必须的 注册地址:Github官网注册入口 第二步:准备工作 gitHub网站使用Git版本管理工具来对仓库进行管理,注意它们并不等同。
阅读全文
摘要:iOS开发拓展篇-XMPP简单介绍 一、即时通讯简单介绍 1、简单说明 即时通讯技术(IM)支持用户在线实时交谈。如果要发送一条信息,用户需要打开一个小窗口,以便让用户及其朋友在其中输入信息并让交谈双方都看到交谈的内容 有许多的IM系统,如AOL IM、Yahoo IM、 MSN以及QQ,它们最大的
阅读全文
摘要:iOS开发拓展篇—应用之间的跳转和数据传递 说明:本文介绍app如何打开另一个app,并且传递数据。 一、简单说明 新建两个应用,分别为应用A和应用B. 实现要求:在appA的页面中点击对应的按钮,能够打开appB这个应用。 1.新建两个应用,分别为A和B. 2.设置应用B的url。 3.在应用A中
阅读全文
摘要:使用NSURLSession获取网络数据 使用NSURLSession下载文件
阅读全文
摘要:上一节中我们已经实现了一个带有图片,标题和价格label 的UIView 这节我们用这个view实现一个横向滚动的UIcollectionView 实现的效果如下: 01 - 创建CFTyreScrollViewCell,继承自UICollectionViewCell
阅读全文
摘要:今天做一个小的view的效果(纯代码),虽然这个view做起来 并不是很难,但是他是为后面我要实现的功能做一个铺垫. 01 创建CFTyreView,继承自UIView 02 来到.m文件. 2.1 定义实例变量 2.2 重写initWithFrame方法 2.3 实现方法
阅读全文
摘要:01- ontentSize是scrollview可以滚动的区域 比如frame = (0 ,0 ,320 ,480) contentSize = (320 ,960), 代表你的scrollview可以上下滚动,滚动区域为frame大小的两倍。 02 - contentOffset是scrollv
阅读全文
摘要:iOS开发拓展篇—音频处理(音乐播放器6) 一、图片处理 说明: Aspect表示按照原来的宽高比进行缩放。 Aspectfit表示按照原来的宽高比缩放,要求看到全部图片,后果是不能完全覆盖窗口,会留有空白。 Aspectfill表示按照原来的宽高比缩放,但只能看到部分图片。引发的问题:可能会有一部
阅读全文
摘要:iOS开发拓展篇—xib中关于拖拽手势的潜在错误 一、错误说明 自定义一个用来封装工具条的类 搭建xib,并添加一个拖拽的手势。 主控制器的代码:加载工具条 封装工具条以及手势拖拽的监听事件 此时运行程序,程序直接崩溃,报错如下: 说明:手势不会有superView方法,superView是UIVi
阅读全文
摘要:mac终端命令简介(适合刚刚入手mac的新人们) mac终端命令简介(适合刚刚入手mac的新人们) 1、取得root权限 意义相当与windows中的超级管理员权限,甚至还要超出。root权限可以修改系统中的任何文件,不过对普通用户的意义不大,了解即可,不建议经常使用。 命令:sudo –s 然后屏
阅读全文
摘要:iOS开发使用半透明模糊效果方法整理 虽然iOS很早就支持使用模糊效果对图片等进行处理,但尤其在iOS7以后,半透明模糊效果得到大范围广泛使用。包括今年最新发布的iOS8也沿袭了这一设计,甚至在OS X 10.10版Yosemite中也开始大量使用半透明模糊。 在iOS开发当中,我们有很多选择可以做
阅读全文
摘要:今天我在上传AppStore的时候,遇到了很多的问题.一直找不到问题的原因,但是最后终于发现问题的原因 ,是因为钥匙串签名无效的问题,解决方案如下: 证书签名无效解决: 1,按照你那个链接下载,https://developer.apple.com/certificationauthority/Ap
阅读全文
摘要:scanf是有返回值和参数的
阅读全文
摘要:iOS开发拓展篇—音频处理(音乐播放器5) 实现效果: 一、半透明滑块的设置 裁剪圆角的细节处理: 二、播放或暂停、上一首、下一首的实现 说明:播放和暂停按钮的图片设置在两种状态下并不一样,设置播放按钮的状态 三、对存在的bug进行改进 拖拽还存在问题(定时器的问题) 更好的方法时在添加定时器的地方
阅读全文
摘要:iOS开发拓展篇—音频处理(音乐播放器4) 说明:该文主要介绍音乐播放器实现过程中的一些细节控制。 实现的效果: 一、完整的代码 YYPlayingViewController.m文件 二、代码说明(一) 调整开始播放音乐按钮,让其返回一个音乐播放器,而非BOOL型的。 三、代码说明(二) 把时间转
阅读全文
摘要:iOS开发拓展篇—音频处理(音乐播放器3) 说明:这篇文章主要介绍音频工具类和播放工具类的封装。 一、控制器间数据传递 1.两个控制器之间数据的传递 第一种方法:self.parentViewController.music=self.music[indexPath.row];不能满足 第二种做法:
阅读全文
摘要:iOS开发拓展篇—音频处理(音乐播放器2) 说明:该文主要介绍音乐播放界面的搭建。 一、跳转 1.跳转到音乐播放界面的方法选择 (1)使用模态跳转(又分为手动的和自动的) (2)使用xib并设置跳转 2.两种方法的分析 可以使用模态的方法,添加一个控制器,让这个控制器和音乐播放控制器类进行关联,脱线
阅读全文
摘要:iOS开发拓展篇—音频处理(音乐播放器1) 说明:该系列文章通过实现一个简单的音乐播放器来介绍音频处理的相关知识点,需要重点注意很多细节的处理。 一、调整项目的结构,导入必要的素材 调整后的项目结构如下: 二、新建两个控制器 (1)新建一个控制器,用于展示音乐文件列表界面,其继承自UITableVi
阅读全文
摘要:2.4 数据统计cell 2.4.1 创建cell,继承自UICollectionViewcell 2.4.2导入详情头文件并且创建详情view 2.4.2.1创建详情view,继承自uiview,定义数字标题,标题和字体的颜色三个属性 2.4.2.2 2.4.2.3 2.4.2.4 2.4.2.5
阅读全文
摘要:2.2 直接购买的UIcollectionCell 2.2.1创建CFPromptBuyCell,继承自UICollectionViewCell,定义了标题和图片两个属性 2.2.2 在.m文件中定义了两个属性 2.2.4 在initWithFrame方法中调用创建UI视图的方法,设置圆角 2.3快
阅读全文
摘要:今天做一个首页的效果: 首页是用UICollectionView做的.下面我来结合首页的效果介绍一下: 一.创建基类继承自UIViewController 01 创建基类继承自UIViewController 02 设置控制器的背景颜色为白色 03 写一个方法,设置导航栏的样式 04 实现手势的代理
阅读全文
摘要:01 变量的概念 02 - 变量的语法 03 变量的使用
阅读全文
摘要:iOS开发拓展篇—CoreLocation地理编码 一、简单说明 CLGeocoder:地理编码器,其中Geo是地理的英文单词Geography的简写。 1.使用CLGeocoder可以完成“地理编码”和“反地理编码” 地理编码:根据给定的地名,获得具体的位置信息(比如经纬度、地址的全称等) 反地理
阅读全文
摘要:iOS开发拓展篇—CoreLocation定位服务 一、简单说明 1.CLLocationManager CLLocationManager的常用操作和属性 开始用户定位- (void)startUpdatingLocation; 停止用户定位- (void) stopUpdatingLocatio
阅读全文
摘要:我们也许并没有那么多的宏图伟志,或者多高多大的目标,只是希望简简单单通过自己的努力,尽可能活的好一点点,只要一点点就够了 我们不能片面的用别人幸福的标准来要求自己,同样也不能用自己的标准去理解别人的幸福 受伤的时候也只能在角落里默默的舔着自己的伤口,现实世界的残酷意味着不会有人去过多的关怀他慰藉他。
阅读全文
摘要:一件事交给你,应付一下很容易,不觉得是在浪费生命吗? 公司里混日子的人,最终伤害的是自己!你混日子,就是日子混你,你自己是输家。无论为谁打工,要为自己学东西,客观上为公司创造价值。 收获与投入成正比,应付工作是在浪费生命,要学会把普通事做得比人好。 一件事交给你,你应付一下很容易,应付完了之后不觉得
阅读全文
摘要:iOS开发拓展篇—CoreLocation简单介绍 一、简介 1.在移动互联网时代,移动app能解决用户的很多生活琐事,比如 (1)导航:去任意陌生的地方 (2)周边:找餐馆、找酒店、找银行、找电影院 2.在上述应用中,都用到了地图和定位功能,在iOS开发中,要想加入这2大功能,必须基于2个框架进行
阅读全文
摘要:纵观移动市场,一款移动app,要想长期在移动市场立足,最起码要包含以下几个要素:实用的功能、极强的用户体验、华丽简洁的外观。华丽外观的背后,少不了美工的辛苦设计,但如果开发人员不懂得怎么合理展示这些设计好的图片,将会糟蹋了这些设计,功亏一篑。 比如下面张图片,本来是设计来做按钮背景的: button
阅读全文
摘要:第一步: 创建自定义cell类,继承自UItableVIewcell 第二步: 在sb中布局自己需要的视图控件并且将此cell与我刚刚创建的cell类进行关联.并且连线 第三步: 创建modle类,继承自NSobject 第四步: 在modle中定义自定义cell需要的属性,同时定义类方法 第五步:
阅读全文
摘要:01 导入头文件,并且定义CycleScrollView属性 02 初始化,设置frame并且添加到collectionView上 03 调用方法并且设置轮播的图片
阅读全文
摘要:iOS开发拓展篇—封装音频文件播放工具类 一、简单说明 1.关于音乐播放的简单说明 (1)音乐播放用到一个叫做AVAudioPlayer的类 (2)AVAudioPlayer常用方法 加载音乐文件 - (id)initWithContentsOfURL:(NSURL *)url error:(NSE
阅读全文
摘要:标题中所说的3个方法,都是UIViewController的方法,跟UIViewController的view属性的生命周期息息相关。接下来我会一一阐述它们的作用以及它们之间的联系。 一、loadView 1.什么时候被调用? 每次访问UIViewController的view(比如controll
阅读全文
摘要:iOS开发拓展篇—音乐的播放 一、简单说明 音乐播放用到一个叫做AVAudioPlayer的类,这个类可以用于播放手机本地的音乐文件。 注意: (1)该类(AVAudioPlayer)只能用于播放本地音频。 (2)时间比较短的(称之为音效)使用AudioServicesCreateSystemSou
阅读全文
摘要:iOS开发拓展篇—音频处理(音乐播放器2) 说明:该文主要介绍音乐播放界面的搭建。 一、跳转 1.跳转到音乐播放界面的方法选择 (1)使用模态跳转(又分为手动的和自动的) (2)使用xib并设置跳转 2.两种方法的分析 可以使用模态的方法,添加一个控制器,让这个控制器和音乐播放控制器类进行关联,脱线
阅读全文
摘要:在上一讲中,简单介绍了函数的定义和使用,只要你想完成一个新功能,首先想到的应该是定义一个新的函数来完成这个功能。这讲继续介绍函数的其他用法和注意事项。 一、函数的声明 1.在C语言中,函数的定义顺序是有讲究的:默认情况下,只有后面定义的函数才可以调用前面定义过的函数 第5行定义的main函数调用了第
阅读全文
摘要:如果A想让控制器B为他做事情 用代理的话 首先: 在A的.h文件中: 其次A的.m中 在控制器的.m文件中: 还是在控制器B的.m文件中 在A初始化的那一刻设置控制器B为A的代理 在B的.m中实现代理方法
阅读全文
摘要:IOS 系统API NSJSONSerialization四个枚举什么意思 IOS 系统API NSJSONSerialization四个枚举什么意思 NSJSONReadingMutableContainers:返回可变容器,NSMutableDictionary或NSMutableArray。
阅读全文
摘要:首先,视图控制器必须得实现协议UIAlertViewDelegate中的方法,并指定delegate为self,才能使弹出的Alert窗口响应点击事件。 首先,视图控制器必须得实现协议UIAlertViewDelegate中的方法,并指定delegate为self,才能使弹出的Alert窗口响应点击
阅读全文
摘要:UINavigationController使用详解 有一阵子没有写随笔,感觉有点儿手生。一个多月以后终于又一次坐下来静下心写随笔,记录自己的学习笔记,也希望能够帮到大家。 废话少说回到正题,UINavigationController是IOS编程中比较常用的一种容器view controller,
阅读全文
摘要:UIActinSheet和UIActionSheetDelegate UIActinSheet和UIActionSheetDelegate 这个是就那个UIActionSheet对象 一般用来选择类型或者改变界面。。。还有更多应用定义如下:UIActionSheet *styleAlert = [[
阅读全文
摘要:UIWebView和UIWebViewDelegate的基本用法 UIWebView和UIWebViewDelegate的基本用法 UIWebView和UIWebViewDelegate的基本用法 一、UIWebView主要有三种方法实现页面的装载,分别是: 1. (void)loadRequest
阅读全文
摘要:iOS开发拓展篇—音效的播放 一、简单介绍 简单来说,音频可以分为2种 (1)音效 又称“短音频”,通常在程序中的播放时长为1~2秒 在应用程序中起到点缀效果,提升整体用户体验 (2)音乐 比如游戏中的“背景音乐”,一般播放时间较长 框架:播放音频需要用到AVFoundation.framework
阅读全文
摘要:前面已经讲完了C语言中的基本语句和基本运算了,这讲呢,介绍C语言中的重头戏 函数。其实函数这个概念,在大部分高级语言中都是非常重要的,我也已经在《第一个C语言程序》一讲中对函数作了一个简单介绍。 一、基本概念 1.什么是函数 任何一个C语言程序都是由一个或者多个程序段(小程序)构成的,每个程序段都有
阅读全文
摘要:// // main.m // 09 - 常量 // // Created by 李洪强 on 16/7/17. // Copyright © 2016年 李洪强. All rights reserved. // 常量 在C语言中,不可改变的数据(就是常量) 在C语言中有三种常量 1-字面量(直接量
阅读全文
摘要:// // main.m // 08 - 基本数据类型 // // Created by vic fan on 16/7/16. // Copyright © 2016年 李洪强. All rights reserved. // 基本数据类型 计算机中,C语言中有丰富的数据类型<Mac为标准> 有整
阅读全文
摘要:iOS开发拓展篇—UIDynamic(捕捉行为) 一、简介 可以让物体迅速冲到某个位置(捕捉位置),捕捉到位置之后会带有一定的震动 UISnapBehavior的初始化 - (instancetype)initWithItem:(id <UIDynamicItem>)item snapToPoint
阅读全文
摘要:前言 1.默认的运行流程 默认情况下,程序的运行流程是这样的:运行程序后,系统会按书写顺序执行程序中的每一行代码。比如下面的程序 程序运行后,会按顺序执行第6、7、8行语句,于是输出结果为: 2.其他运行流程 但很多时候,我们并不想要按照默认的运行流程去走,比如想在某个条件成立的情况下才执行某一段代
阅读全文
摘要:iOS开发拓展篇—UIDynamic(重力行为+碰撞检测) 一、重力行为 说明:给定重力方向、加速度,让物体朝着重力方向掉落 1.方法 (1)UIGravityBehavior的初始化 - (instancetype)initWithItems:(NSArray *)items; item参数 :里
阅读全文
摘要:计算机的基本能力就是计算,所以一门程序设计语言的计算能力是非常重要的。C语言之所以无所不能,是因为它不仅有丰富的数据类型,还有强大的计算能力。C语言一共有34种运算符,包括了常见的加减乘除运算。这讲就对C语言中的运算符做一个详细介绍。 一、算术运算符 算术运算符非常地简单,就是小学数学里面的一些加减
阅读全文
摘要:XMPP历史 这个xmpp框架在2008年开始,不过是一个简单地RFC实现。提供一个最小的代理去接受三种xmpp的基本类型presence、message、iq。因为framwork只提供了最小的功能实现,它需要第三方的开发者提供许多拓展的代码。然而,大多数应用使用xmpp需要一些xmpp 拓展 如
阅读全文
摘要:单例的使用: .m 为了方便实用,只要将以下代码定义在header文件或者.pch文件即可; 单例的使用: .m 为了方便实用,只要将以下代码定义在header文件或者.pch文件即可; // .h #define singleton_interface(class) + (instancetype
阅读全文
摘要:iOS开发拓展篇—UIDynamic(简单介绍) 一、简单介绍 1.什么是UIDynamic UIDynamic是从iOS 7开始引入的一种新技术,隶属于UIKit框架 可以认为是一种物理引擎,能模拟和仿真现实生活中的物理现象 如:重力、弹性碰撞等现象 2.物理引擎的价值 广泛用于游戏开发,经典成功
阅读全文
摘要:C语言有丰富的数据类型,因此它很适合用来编写数据库,如DB2、Oracle等大型数据库都是C语言写的。其中,提供了4种最常用的基本数据类型:char、int、float、double,使用这些数据类型,我们就可以定义相应的变量来存储数据。这讲就来深入研究一下基本数据类型的一些使用细节。 一、取值范围
阅读全文
摘要:// // main.m // 18 - 对象和方法之间的关系 // // Created by vic fan on 16/7/14. // Copyright © 2016年 李洪强. All rights reserved. // /** * OC有参有返回值的方法 有参有返回值方法的声明 -
阅读全文
摘要:/** * 标示符 2016年 7月 14日 01 低级语言和高级语言的最大不同: 低级语言用的是机器指令 高级语言就是写一些人可以看得懂的代码-汇编语言 标示符 就是名字 命名规则: 1) 只能有字母,数字,下划线,和美元符($)组成 (编译器支持的字符集) 2) 不能以数字开头 3)不能与关键字
阅读全文
摘要:iOS开发拓展篇—静态库 一、简单介绍 1.什么是库? 库是程序代码的集合,是共享程序代码的一种方式 2.库的分类 根据源代码的公开情况,库可以分为2种类型 (1)开源库 公开源代码,能看到具体实现 比如SDWebImage、AFNetworking (2)闭源库 不公开源代码,是经过编译后的二进制
阅读全文
摘要:在前面一节中简单介绍了变量的使用,当我们定义一个变量的时候,系统就会为变量分配一块存储空间。而变量的数值在内存中是以二进制的形式存储的,这讲来深入研究变量在内存中的一些存储细节。 一、字节和地址 为了更好地理解变量在内存中的存储细节,先来认识一下内存中的“字节”和“地址”。 1.计算机中的内存是以字
阅读全文
摘要:1.iOS平台是按照一直有网络连接的思路来设计的,开发者利用这一特点创造了很多优秀的第三方应用。 大多数的iOS应用都需要联网,甚至有些应用严重依赖网络,没有网络就无法正常工作。 2.在你的应用尝试通过网络获取数据之前,你需要知道当前设备是否知道连接上了网络, 甚至有时候你可能还需要知道当前网路是由
阅读全文
摘要:// // main.m // 16 - 常见错误汇总 // // Created by vic fan on 16/7/13. // Copyright © 2016年 李洪强. All rights reserved. // OC的常见错误汇总: 1 @interface ... @end 和
阅读全文
摘要:// // main.m // 05 - 简要复习 // // Created by vic fan on 16/7/13. // Copyright © 2016年 李洪强. All rights reserved. // C语言的历史 KRC的标准 需要了解C语言的标准: KRC C89标准-
阅读全文
摘要:iOS开发实用技巧—Objective-C中的各种遍历(迭代)方式 说明: 1)该文简短介绍在iOS开发中遍历字典、数组和集合的几种常见方式。 2)该文对应的代码可以在下面的地址获得:https://github.com/HanGangAndHanMeimei/Code 一、使用for循环 要遍历字
阅读全文
摘要:上一讲简单介绍了常量和变量,这讲补充一点计算机的基础知识 进制。 我们先来看看平时是如何表示一个整数的,最常见的肯定是用阿拉伯数字表示,比如“十二”,我们可以用12来表示,其实这种表示方式是基于一种叫做“十进制”的计数方式。“进制”是一种计数方式,编程中常见的进制有4种:十进制、二进制、八进制、十六
阅读全文
摘要:URL中的特殊字符 有些符号在URL中是不能直接传递的,如果要在URL中传递这些特殊符号,那么就要使用他们的编码了。编码的格式为:%加字符的ASCII码,即一个百分号%,后面跟对应字符的ASCII(16进制)码值。例如 空格的编码值是"%20"。下表中列出了一些URL特殊符号及编码:替换为%3A 十
阅读全文
摘要:通常情况下,我们用NSUserDefaults存储数据信息,但是对于一些私密信息,比如密码、证书等等,就需要使用更为安全的keychain了。keychain里保存的信息不会因App被删除而丢失,在用户重新安装App后依然有效,数据还在。 使用苹果官方发布的KeychainItemWrapper或者
阅读全文
摘要:在上架App之前想要 真机测试的同学 请查看 iOS- 最全的真机测试教程 里面包含怎么让多台电脑同时 上架App和同时真机调试。P12文件的使用详解 准备 开发者账号 完工的项目 开发者账号 完工的项目 上架步骤 一、创建App ID 二、创建证书请求文件 (CSR文件) 三、创建发布证书 (CE
阅读全文
摘要:iOS开发支付集成之银联支付 银联官网在这里,这里能下载SDK或者是看文档。最新的版本写的简单了很多,看文档一直做下去基本上就没问题了。 首先,SDK在这里下载,里面包含需要的库文件和详细的文档。 银联手机控件支付 1 - 看下交互流程: 支付的过程文档上写的很详细了,在这里就不再赘述了。 2 -
阅读全文
摘要:iOS开发支付集成之微信支付 微信支付也是需要签名的,也跟支付宝一样,可以在客户端签名,也可以在后台签名(当然,为了安全还是推荐在服务器上做签名,逻辑也比较好理解)。 1 - 集成前首先要看看文档 开发文档 APP端开发步骤 ps:在微信开发者平台注册APP这样的事一般的是经理给你做好的,这个可以忽
阅读全文
摘要:iOS开发支付集成之支付宝支付 下载支付宝SDK 首先是开发包下载,还是比较难发现的,网上以前文章中的链接都打不开,我找了好久才找到的。最新的地址在这里(注意的是下载出来的SDK包里面并没有传说中的开发文档,需要其他地方找或者看网页上的)。 公钥、私钥、PID、sellerID、key这些东西的用途
阅读全文
摘要:// // main.m // 15 - 函数和对象的方法的区别 // // Created by vic fan on 16/7/12. // Copyright © 2016年 李洪强. All rights reserved. // 函数和对象方法的区别 对象方法: - (void)run;
阅读全文
摘要:// // main.m // 04 - C语言关键字 // // Created by vic fan on 16/7/12. // Copyright © 2016年 李洪强. All rights reserved. // C语言关键字 A - 数据相关 1) 基本数据类型(5个) void
阅读全文
摘要:Foundation框架—集合 一、NSArray和NSMutableArray (一)NSArray不可变数组 (1)NSArray的基本介绍 NSArray是OC中使用的数组,是面向对象的,以面向对象的形式操纵对象,是不可变数组。 C语言数组有一个缺点即数组中只能存放同种数据类型的元素。 OC数
阅读全文
摘要:在我们使用计算机的过程中,会接触到各种各样的数据,有文档数据、图片数据、视频数据,还有聊QQ时产生的文字数据、用迅雷下载的文件数据等。这讲我们就来介绍C语言中数据的处理。 一、数据的存储 1.数据类型 首先来看看计算机是怎么存储数据的。总的来说,计算机中存储的数据可以分为两种:静态数据和动态数据。
阅读全文
摘要:iOS学习大神群-群号:483959373
阅读全文
摘要:Foundation框架—字符串 一、Foundation框架中一些常用的类 字符串型: NSString:不可变字符串 NSMutableString:可变字符串 集合型: 1) NSArray:OC不可变数组 NSMutableArray:可变数组 2) NSSet: NSMutableSet:
阅读全文
摘要:上一讲中已经创建了第一个C语言程序,知道了C程序是由函数构成的,这讲继续学习C语言的一些基本语法。C语言属于一门高级语言,其实,所有的高级语言的基本语法组成部分都是一样的,只是表现形式不太一样。就好像亚洲人和非洲人,大家都有人类的结构:2只手、2只脚、1个头,只是他们外表不太一样,比如肤色、脸型。因
阅读全文
摘要:Foundation框架—结构体 一、基本知识 Foundation—基础框架。框架中包含了很多开发中常用的数据类型,如结构体,枚举,类等,是其他ios框架的基础。 如果要想使用foundation框架中的数据类型,那么包含它的主头文件就可以了。 即#import<foundation/founda
阅读全文
摘要:前言 前面已经唠叨了这么多理论知识,从这讲开始,就要通过接触代码来学习C语言的语法。学习任何一门语言,首先要掌握的肯定是语法。学习C语言语法的目的:就是能够利用C语言编写程序,然后运行程序跟硬件(计算机、手机等硬件设备)进行交互。由于我们的最终目的是学习iOS开发,学习iOS开发的话必须在Mac系统
阅读全文
摘要:// // main.m // 14 - #pragma mark的使用 // // Created by vic fan on 16/7/10. // Copyright © 2016年 李洪强. All rights reserved. // #import <Foundation/Founda
阅读全文
摘要:OC语言BLOCK和协议 一、BOLCK (一)简介 BLOCK是什么? 苹果推荐的类型,效率高,在运行中保存代码。用来封装和保存代码,有点像函数,BLOCK可以在任何时候执行。 BOLCK和函数的相似性: (1)可以保存代码(2)有返回值(3)有形参(4)调用方式一样。 标识符 ^ (二)基本使用
阅读全文
摘要:前面已经给大家介绍了iOS开发相关的一些基础知识,其实iOS开发就是开发iPhone\iPad上的软件,而要想开发一款软件,首先要学习程序设计语言。iOS开发需要学习的主要程序设计语言有:C语言、C++、Objective-C,其中C++、Objective-C都是以C语言为基础,从C语言衍生出来的
阅读全文
摘要:// // main.m // 13 - 对象的存储细节 // // Created by vic fan on 16/7/9. // Copyright © 2016年 李洪强. All rights reserved. // #import <Foundation/Foundation.h> 问
阅读全文
摘要:OC语言description方法和sel 一、description方法 Description方法包括类方法和对象方法。(NSObject类所包含) (一)基本知识 -description(对象方法) 使用NSLog和@%输出某个对象时,会调用对象的description方法,并拿到返回值进行
阅读全文
摘要:一、iOS开发的前景 2012年3月份,苹果公司的市值已经突破5000亿美元,成为世界上市值最大的公司。5000亿是神马概念呢? 可以帮助陷入欧债危机的8个国家偿还债务 可以买下35个天安门广场、34座卢浮宫、109座圆明园 可以同时买下雅虎、戴尔、百思买、摩托罗拉、动视暴雪 超过105个国家一年的
阅读全文
摘要:// // main.m // 12 - 类的创建练习 // // Created by vic fan on 16/7/9. // Copyright © 2016年 李洪强. All rights reserved. // //练习: /* 一个人可以吃不同的食物,只要吃东西就会增加体重0.6,
阅读全文
摘要:// // main.m // 11 - 内容总结 // // Created by vic fan on 16/7/9. // Copyright © 2016年 李洪强. All rights reserved. // //内容的总结: //1 创建一个person类型的指针,指针保存的是对象的
阅读全文
摘要:C语言学习的重难点 写程序的三个境界: 照抄的境界,翻译的境界,创新的境界 1 伪代码: 描述C语言的编程范式 范式: 规范的一种表示 对于C的范式学会的话,C, C++ Java 都会了 2 运算符的自曾与自减 3 进制转换与数据在内存中的表示 4 循环嵌套 5 多维数组 6 函数递归 7 指针-
阅读全文
摘要:C语言是介于低级语言和高级语言之间的 一个应用程序 C语言在嵌入式上使用,的确是具有低级语言的特征 直接操作硬件,扫描内存 访问到的都是虚拟内存,一个应用程序占多大内存? 表示最多 可以放多少条指令 普遍使用的是32位和64位的计算机,2的32次方是4G 64位计算机内存特别大,是无限大的 计算机的
阅读全文
摘要:问题的出现 今天在利用XCode开发苹果APP时想使用脚本来存储一些语言文字信息,在完成环境配置和搭建以后调用Lua脚本成功。但是该Lua脚本把所有的内容都包含在一起,不太符合文件独立的要求,就把文件拆成了两部分,通过include之类的Lua关键字进行关联。调整完毕以后运行调试,出现了Lua引擎无
阅读全文
摘要:1. Object-C有多继承吗?没有的话用什么代替? 1> OC是单继承,没有多继承 2> 有时可以用分类和协议来代替多继承 2. Object-C有私有方法吗?私有变量呢? 1> OC没有类似@private的修饰词来修饰方法,只要写在.h文件中,就是公共方法 2> 可以使用类扩展(Extens
阅读全文
摘要:OC语言类的深入和分类 一、分类 (一)分类的基本知识 概念:Category 分类是OC特有的语言,依赖于类。 分类的作用:在不改变原来的类内容的基础上,为类增加一些方法。 添加一个分类: 文件结构图: 在分类中添加一个方法 Study方法的实现 测试程序: (二)分类的使用注意 (1)分类只能增
阅读全文
摘要:在上一讲中,介绍了什么是iOS开发。说简单一点,iOS开发,就是开发运行在iPhone或者iPad上的软件。这么一说完,应该有很多人就会产生一些疑惑,比如学习iOS开发是不是一定要买iPhone?需不需要买苹果电脑呢?学软件开发是不是一定要计算机专业的?因此,在这讲中,我会为广大有意学习iOS开发的
阅读全文
摘要:从今天开始,我就开始更新【零基础学习iOS开发】这个专题。不管你是否涉足过IT领域,也不管你是理科生还是文科生,只要你对iOS开发感兴趣,都可以来阅读此专题。我尽量以通俗易懂的语言,让每个人都能够看懂。若遇到不明白的地方或者对此文有异议,望及时评论。 一、什么是iOS 要想学习iOS开发,首先要搞清
阅读全文
摘要:OC语言构造方法 一、构造方法 (一)构造方法的调用 完整的创建一个可用的对象:Person *p=[Person new]; New方法的内部会分别调用两个方法来完成2件事情,1)使用alloc方法来分配存储空间(返回分配的对象);2)使用init方法来对对象进行初始化。 可以把new方法拆开如下
阅读全文
摘要:一、什么是空指针和野指针 1.空指针 1> 没有存储任何内存地址的指针就称为空指针(NULL指针) 2> 空指针就是被赋值为0的指针,在没有被具体初始化之前,其值为0。 下面两个都是空指针: 2.野指针 "野指针"不是NULL指针,是指向"垃圾"内存(不可用内存)的指针。野指针是非常危险的。 二、野
阅读全文
摘要:一、Java中的this只能用在动态方法中,不能用在静态方法中 1.在动态方法中使用this关键字 在第4行使用了this,这里的this代表着调用setAge方法的某个Student对象 2.如果在静态方法中使用this关键字,直接报错 二、OC中的self既可以用在动态方法中,也可以用在静态方法
阅读全文
摘要:OC语言@property @synthesize和id 一、@property @synthesize关键字 注意:这两个关键字是编译器特性,让xcode可以自动生成getter和setter的声明和实现。 (一)@property 关键字 @property 关键字可以自动生成某个成员变量的se
阅读全文
摘要:今天在做项目的时候,有一个功能是上传照片选择系统相册的照片,或者拍照上传照片,但是页面上的文字是英文的, 需求想改成中文的,解决方法是在 info.plist里面添加 Localized resources can be mixed 设置为YES 就可以了
阅读全文
摘要:手指在键盘上飞速跳跃,终端上的代码也随着飞舞,是的这确实很酷。优秀的程序员总是这么一群人,他们不拘于现状,不固步自封,他们喜欢新奇的事,他们把自己发挥到极致。 指法攻略 放下您钟爱的鼠标吧,在前行之中它终会成为你的负累! 简记: command 用来导航,控制导航区域 alt 控制右边的一些东西,比
阅读全文
摘要:1 initWithFrame 通过代码创建控件的话用这个方法设置 2 initWithCoder(先执行) 与从xib加载有关系的 在此方法里面设置原有子控件的值是不行的,因为还没有连好线 3 aweakFormNib (后执行)方法的区别 与xib加载有关系 代表子控件从xib里面加载完成,并且
阅读全文
摘要:未完待续.. // // ViewController.m // A18 - duo wen jian shang chuan // // Created by 李洪强 on 16/6/29. // Copyright © 2016年 李洪强. All rights reserved. // #im
阅读全文
摘要:OC点语法和变量作用域 一、点语法 (一)认识点语法 声明一个Person类: Person类的实现: 点语法的使用: (二)点语法的作用 OC设计点语法的目的,是为了让其他语言的开发者可以很快的上手OC语言开发,使用点语法,让它和其他面向对象的语言如java很像。 (三)点语法的本质 点语法的本质
阅读全文
摘要:OC面向对象—多态 一、基本概念 多态在代码中的体现,即为多种形态,必须要有继承,没有继承就没有多态。 在使用多态是,会进行动态检测,以调用真实的对象方法。 多态在代码中的体现即父类指针指向子类对象。 Animal类的声明 Animal类的实现 Dog类继承自Animal类 Dog类的实现 测试程序
阅读全文
摘要:知识回顾 在前面已经介绍了如何定义类和创建并初始化对象,比如有Student这个类 1.Student.h 2.Student.m 3.在main函数中创建一个Student对象 * 在第7行调用Student的alloc方法分配内存,然后再调用init方法初始化对象 * 像init这样用来初始化对
阅读全文
摘要:前言 1.上一讲简单介绍了NSThread的使用,虽然也可以实现多线程编程,但是需要我们去管理线程的生命周期,还要考虑线程同步、加锁问题,造成一些性能上的开销。我们也可以配合使用NSOperation和NSOperationQueue实现多线程编程,实现步骤大致是这样的: 1> 先将需要执行的操作封
阅读全文
摘要:1、NSArray/NSDictionary > strong temp和self.arr是同一地址。 2、NSArray/NSDictionary >copy temp和self.arr也是同一地址。 3、NSMutableArray/NSMutableDictionary >strong tem
阅读全文
摘要:1.Difference between shallow copy and deep copy? 浅复制和深复制的区别? 答案:浅层复制:只复制指向对象的指针,而不复制引用对象本身。
深层复制:复制引用对象本身。
意思就是说我有个A对象,复制一份后得到A_copy对象后,对于浅复制来说,A和A_co
阅读全文
摘要:1.及时聊天app不会采用的网络传输方式是 D A UDP B TCP C Http D FTP 2.下列技术不属于多线程的是 A A Block B NSThread C NSOperation D GCD 3.线程和进程的区别不正确的是 B A 进程和线程都是由操作系统所体会的程序运行的基本单元
阅读全文
摘要:C语言 & 计算机基础 1、请看下面一段代码 static int a = 1; int main(){ int b = 2; char *c = NULL; c = (char *)malloc(100 * sizeof(char)); return 0; } 请问访问a,b,c 3种类型变量的效
阅读全文
摘要:1.main() { int a[5]={1,2,3,4,5}; int *ptr=(int *)(&a+1); printf("%d,%d",*(a+1),*(ptr-1)); } 答:2,5 *(a+1)就是a[1],*(ptr-1)就是a[4],执行结果是2,5 &a+1不是首地址+1,系统会
阅读全文
摘要:1、Object-C有多继承吗?没有的话用什么代替? cocoa 中所有的类都是NSObject 的子类多继承在这里是用protocol 委托代理 来实现的你不用去考虑繁琐的多继承 ,虚基类的概念.ood的多态特性 在 obj-c 中通过委托来实现.2、Object-C有私有方法吗?私有变量呢?ob
阅读全文
摘要:1. 回答person的retainCount值,并解释为什么 Person * per = [[Person alloc] init]; 此时person 的retainCount的值是1 self.person = per;
在self.person 时,如果是assign,person的 re
阅读全文
摘要:怎么设置缓存数据的大小和缓存时间? AFN是怎么工作的,运行时的字典转模型怎么做? UITableViewCell怎么优化? UITableViewCell有个NSString *reuseIdentifier属性,可以在初始化UITableViewCell的时候传入一个特定的字符串标识来设置reu
阅读全文
摘要:50socket连接和http连接的区别 简单说,你浏览的网页(网址以http://开头)都是http协议传输到你的浏览器的, 而http是基于socket之上的。socket是一套完成tcp,udp协议的接口。 HTTP协议:简单对象访问协议,对应于应用层 ,HTTP协议是基于TCP连接的 tcp
阅读全文
摘要:1. 为什么要用第三方框架? 答:第三方框架把复杂的网络底层操作 封装成友好的类和方法,并且加入异常处理等,从而可以:1> 高效的与服务端 API 进行数据交换 2> 提高开发效率和稳定性. 2. 介绍一下iOS7中增加NSURLSession?(这个是我简历中写了这个他才问的。) 我想整理一下答案
阅读全文
摘要:// // main.m // 09 - 有参方法的声明实现和调用 // // Created by vic fan on 16/7/5. // Copyright © 2016年 李洪强. All rights reserved. // /** * C语言函数 * int sum(int a, i
阅读全文
摘要:OC面向对象—继承 一、基本概念 程序的世界和人类的“对象”世界在思想上是没有设么区别的,富二代继承了父母,自然就拥有了父母拥有的所有资源,子类继承了父类同样就拥有了父类所有的方法和属性(成员变量)。 在这里动物是猫类和狗类的父类,黑猫和白猫类是猫类的子类。 继承的好处: (1)抽取出了重复的代码
阅读全文
摘要:前言 每个iOS应用程序都有个专门用来更新显示UI界面、处理用户触摸事件的主线程,因此不能将其他太耗时的操作放在主线程中执行,不然会造成主线程堵塞(出现卡机现象),带来极坏的用户体验。一般的解决方案就是将那些耗时的操作放到另外一个线程中去执行,多线程编程是防止主线程堵塞,增加运行效率的最佳方法。 i
阅读全文
摘要:想做如下的界面效果(纯代码) // // ViewController.m // A22 - 李洪强CollectionVIew的使用 // // Created by vic fan on 16/7/4. // Copyright © 2016年 李洪强. All rights reserved.
阅读全文
摘要:initWithFrame方法的理解 initWithFrame方法的理解 有时候,知道initWithFrame方法如何用,但是么有弄明白initWithFrame方法到底是什么? 那就通过查资料弄明白。 1. initWithFrame方法是什么? initWithFrame方法用来初始化并返回
阅读全文
摘要:OC面向对象—封装 一、面向对象和封装 面向对象的三大特性:封装(成员变量)、继承和多态 在OC语言中,使用@interface和@implementation来处理类。 @interface就好像暴露在外面的时钟表面,像外界提供展示以及接口。@implementation就好像隐藏在时钟内部的构造
阅读全文
摘要:一、异步POST请求 假如请求路径是http://192.168.1.102:8080/MJServer/login,请求参数有2个: username :母鸡 pwd :123 1.POST请求细节分析 要想在iOS中发送一个POST请求,首先要了解POST请求的一些细节: 1> 跟GET请求不一
阅读全文
摘要:OC内存管理 一、基本原理 (一)为什么要进行内存管理。 由于移动设备的内存极其有限,所以每个APP所占的内存也是有限制的,当app所占用的内存较多时,系统就会发出内存警告,这时需要回收一些不需要再继续使用的内存空间,比如回收一些不再使用的对象和变量等。 管理范围:任何继承NSObject的对象,对
阅读全文
摘要:前言 云计算 近几年来,云计算是一个非常热门的技术名词,很多专家认为,云计算会改变互联网的技术基础,甚至会影响整个产业的格局。可能还很多人不了解什么是云计算,简单来说,就是把用户的数据(比如文档、照片等)、用户需要使用的软件、用户需要搜索的资源都保存在"云端",并不用保存在用户本地。你可以将"云端"
阅读全文
摘要:1.说说响应链 1.说说响应链 1.说说响应链 答: 事件响应链。包括点击事件,画面刷新事件等。在视图栈内从上至下,或者从下之上传播。 可以说点事件的分发,传递以及处理。具体可以去看下touch事件这块。因为问的太抽象化了 严重怀疑题目出到越后面就越笼统。 可以从责任链模式,来讲通过事件响应链处理,
阅读全文
摘要:#import 跟#include 又什么区别,@class呢, #import<> 跟 #import””又什么区别? #import是Objective-C导入头文件的关键字,#include是C/C++导入头文件的关 键字,使用#import头文件会自动只导入一次,不会重复导入,相当于#inc
阅读全文
摘要:// // // LHQDownLoader.m // A21 - 李洪强 - 下载 // // Created by vic fan on 16/7/3. // Copyright © 2016年 李洪强. All rights reserved. // #import "LHQDownLoade
阅读全文
摘要:// // ViewController.m // A21 - 李洪强 - 输出参数 // // Created by vic fan on 16/7/3. // Copyright © 2016年 李洪强. All rights reserved. // // 计算数组的最大最小值 #import
阅读全文
摘要:// // main.m // 07 - 创建一个对象并且访问实例变量 // // Created by vic fan on 16/7/3. // Copyright © 2016年 李洪强. All rights reserved. // // Car *car = [Car new]; 类名
阅读全文
摘要:汇编语言 指令用特定的名字来标记,这就是汇编语言 人比较容易看懂汇编语言 汇编直接和程序一一对应的 有汇编器把程序翻译成机器码 把高级语言编译成计算机识别的语言 程序编译过程 命令行 UNIX 系统中自带了C语言的编译器,编译器的名字叫CC CC 的含义是C Compler Linux系统是一个开源
阅读全文
摘要:OC方法和文件编译 一、OC方法 (一)对象方法 (1)对象方法以-开头如 -(void)xx; (2)对象方法只能又对象来调用 (3)对象方法中可以访问当前对象的成员变量 (4)调用格式 [对象名 对象方法名]; (5)设计一个学生类和狗类,练习对象方法的使用。 学生类的声明: 学生类的实现: 狗
阅读全文
摘要:CABasicAnimation是CAPropertyAnimation的子类,使用它可以实现一些基本的动画效果,它可以让CALayer的某个属性从某个值渐变到另一个值。下面就用CABasicAnimation实现几个简单的动画。 * 先初始化一个UIView添加到控制器的view中,然后在这个UI
阅读全文
摘要:OC语言基础知识 一、面向对象 OC语言是面向对象的,c语言是面向过程的,面向对象和面向过程只是解决问题的两种思考方式,面向过程关注的是解决问题涉及的步骤,面向对象关注的是设计能够实现解决问题所需功能的类。 术语:OO面向对象、OOP面向对象编程 二、类 (一)关于类 类的设计只关注三个东西:类名、
阅读全文
摘要:一、Core Animation简介 * Core Animation,中文翻译为核心动画,它是一组非常强大的动画处理API,使用它能做出非常炫丽的动画效果,而且往往是事半功倍。也就是说,使用少量的代码就可以实现非常强大的功能。 * Core Animation可以用在Mac OS X和iOS平台。
阅读全文
摘要:基于彻底解耦合的实验性iOS架构 这周我决定做一个关于彻底解耦合的应用架构的实验。我想探究的主题是: “如果所有的应用内通讯都通过一个事件流来完成会怎么样?” 我构造了一个待办事项应用,因为这是我一时激动下所能想到的最原始微型的项目。我会大概地说一下应用结构背后的想法,展示具体实现中的一些代码片段,
阅读全文
摘要:iOS自定义转场动画实战讲解 转场动画这事,说简单也简单,可以通过presentViewController:animated:completion:和dismissViewControllerAnimated:completion:这一组函数以模态视图的方式展现、隐藏视图。如果用到了navigat
阅读全文
摘要:Swift 烧脑体操(一) - Optional 的嵌套 前言 Swift 其实比 Objective-C 复杂很多,相对于出生于上世纪 80 年代的 Objective-C 来说,Swift 融入了大量新特性。这也使得我们学习掌握这门语言变得相对来说更加困难。不过一切都是值得的,Swift 相比
阅读全文
摘要:iOS面试一般性问题,学会这些拿offer几率提升90%! 面试题中有一些一般性的问题,通常是会问到的。面试iOS应聘者时,切入点很重要,不同的切入点会导致不同的结果,没有找到合适的切入点也无法对应聘者有一个全面的了解。所以下面的面试问题更多的是提供方向,没有固定的答案,而且可以根据应聘者的回应引出
阅读全文
摘要:深入浅出--iOS的TCP/IP协议族剖析&&Socket 简介 该篇文章主要回顾--TCP/IP协议族中的TCP/UDP、HTTP;还有Socket。(--该文很干,酝酿了许久!你能耐心看完吗?) 我在这个文章中,列举了常见的TCP/IP族中的协议,今天主角是--传输层协议。 传输层(Transp
阅读全文
摘要:iOS下的实际网络连接状态检测 序言 网络连接状态检测对于我们的iOS app开发来说是一个非常通用的需求。为了更好的用户体验,我们会在无网络时展现本地或者缓存的内容,并对用户进行合适的提示。对绝大部分iOS开发者来说,从苹果示例代码改变而来的各种Reachablity框架是实现这个需求的普遍选择,
阅读全文
摘要:iOS经典面试题总结--内存管理 我根据自己的情况做了一下总结,答案是我总结的,如有答的不好的地方,希望批评指正以及交流,谢谢! 内存管理 1.什么是ARC? ARC是automatic reference counting自动引用计数,在程序编译时自动加入retain/release。在对象被创建
阅读全文
摘要:教你实现类似于格瓦拉启动页中的放大转场动画(OC&Swift) 一、前言 用过格瓦拉电影,或者其他app可能都知道,一种点击按钮用放大效果实现转场的动画现在很流行,效果大致如下 在iOS中,在同一个导航控制器你可以自定义转场动画实现两个viewController之间的过渡。实际上在iOS7之后,通
阅读全文
摘要:罕见的开发者座谈会 2016 年 5 月 16 日,今天苹果 CEO 蒂姆·库克(Tim Cook )再一次现身中国北京。虽然库克访华已经不新鲜,每年一次至少保持一次,今年已经第八次,但这一次现身是与滴滴总裁柳青一同出现,而且亲自体验了一把滴滴打车,很显然这与不久之前苹果注资滴滴 10 亿美元的战略
阅读全文
摘要:随着Facebook、Twitter、微博的崛起,向UGC、PGC、OGC,自媒体提供平台的内 容消费型App逐渐形成了独特的客户端架构模式。与电商和通讯工具类App不同,微博客户端具有多信息流、内容丰富多样、对数据量和延迟敏感等特点。微博的信息流承载着文字、网页、照片、视频、直播等多样的内容形式,
阅读全文
摘要:介绍 realm是一个跨平台移动数据库引擎,支持iOS、OS X(Objective-C和Swift)以及Android。 2014年7月发布。由YCombinator孵化的创业团队历时几年打造,是第一个专门针对移动平台设计的数据库。目标是取代SQLite。 为了彻底解决性能问题,核心数据引擎C++
阅读全文
摘要:关于笔试: 只要前期复习到位,笔试还是很好过的,但是当然分数越高越好,否则后面会被面试官鄙视的。题目可能难度较大,但是要把会做的都做对,如果时间比较紧可以适度放弃部分不会的题目。 关于面试: 温馨提示:如果时间紧急不想看经过,直接看序号标记的面试官问我的问题吧 9.14 晚上6点半 一面 30min
阅读全文