iOS 基础篇
炎少恋雨
这个作者很懒,什么都没留下…
展开
-
热搜小说App技术服务支持
热搜小说app技术支持网址.有问题可以留言邮箱地址:[email protected]谢谢!!!原创 2018-09-18 16:18:18 · 1147 阅读 · 0 评论 -
PhoneGap入门的基本知识
<一> 定义PhoneGap是一个用基于HTML,CSS和JavaScript的,创建移动跨平台移动应用程序的快速开发平台。Phonegap是一款开源的开发框架,旨在让开发者使用HTML、Javascript、CSS等Web APIs开发跨平台的移动应用程序。<二> Mac上搭建PhoneGap开发环境:1. 在App Store安装Xcode,最新版为7.2.12. 安装node.js环原创 2016-03-03 17:59:58 · 377 阅读 · 0 评论 -
iOS 运行时runtime应用之二--在category中使用运行时API给类添加属性
例证: @import原创 2016-04-14 09:29:08 · 324 阅读 · 0 评论 -
iOS 内存管理--使用MRC(非ARC)
1> 只要调用alloc方法,必须有release 2> set方法中的内存管理 对于基本数据类型,直接赋值 - (void)setAge:(int)age{ _age = age; } 对于OC对象数据类型 - (void)setCar:(Car*)car{ //首先判断是不是新传进来的对象 if(car!=_car){ [原创 2016-05-03 17:20:07 · 443 阅读 · 0 评论 -
iOS 中的事件处理
基础理论: 1> 在iOS 中 不是任何对象都能处理事件的,只有继承UIResponder的对象才能接受并处理事件,我们称之为响应者对象; 2> UIResponder当中存在下列四个API: // 触摸开始时调用 - (void)touchesBegan:(NSSet原创 2016-04-18 14:25:08 · 209 阅读 · 0 评论 -
iOS 转换坐标系
iOS中视图坐标系的转换主要用到UIView的四个API: 坐标系转换的实质是: 更改坐标系的原点. - (CGPoint)convertPoint:(CGPoint)point toView:(nullable UIView *)view; - (CGPoint)convertPoint:(CGPoint)point fromView:(nullable UIView *)view; -原创 2016-04-15 14:34:29 · 635 阅读 · 0 评论 -
iOS 运行时runtime应用之一--关联
关联是指把两个对象相互关联起来,使得其中的一个对象作为另外一个对象的一部分。 在类的定义之外为类增加额外的存储空间 <1> 使用关联,我们可以不用修改类的定义而为其对象增加存储空间。这在我们无法访问到类的源码的时候或者是考虑到二进制兼容性的时候是非常有用。 <2> 关联是基于关键字的,因此,我们可以为任何对象增加任意多的关联,每个都使用不同的关键字即可。 <原创 2016-04-14 08:44:52 · 436 阅读 · 0 评论 -
比较陌生诡异的方法系列<一>
http://blog.sina.com.cn/s/blog_afb4d07f0101iamg.html原创 2015-12-12 16:04:05 · 243 阅读 · 0 评论 -
iOS 布局利器
现在已经不像以前那样只有一个尺寸,现在最少的IPHONE开发需要最少需要适配三个尺寸。因此以前我们可以使用硬坐标去设定各个控件的位置,但是现在的话已经不可以了,我们需要去做适配,也许你说可以使用两套UI或两套以上的UI,但那样不高效也不符合设计。iOS有两大自动布局利器:**autoresizing** 和 autolayout(autolayout是IOS6以后新增)。autoresizing是U转载 2015-12-12 10:00:57 · 241 阅读 · 0 评论 -
iOS动画系列之一--视图与图层
1> 视图–(UIView) –>> 在iOS当中,所有的视图都从一个叫做UIVIew的基类派生而来,UIView可以处理触摸事件,可以支持基于Core Graphics绘图,可以做仿射变换(例如旋转或者缩放),或者简单的类似于滑动或者渐变的动画。 2> CALayer类在概念上和UIView类似,同样也是一些被层级关系树管理的矩形块,同样也可以包含一些内容(像图片,文本或者背景色),管理子图层原创 2016-05-28 14:27:18 · 665 阅读 · 0 评论 -
iOS动画系列之二--CALayer的contents属性的应用
1> CALayer 有一个属性叫做contents,这个属性的类型被定义为id,意味着它可以是任何类型的对象。在这种情况下,你可以给contents属性赋任何值,你的app仍然能够编译通过。但是,在实践中,如果你给contents赋的不是CGImage,那么你得到的图层将是空白的。 2> 事实上,你真正要赋值的类型应该是CGImageRef,它是一个指向CGImage结构的指针。UIImage有原创 2016-05-29 12:24:25 · 3246 阅读 · 0 评论 -
监听属性的改变
属性的set方法 在属性的set方法中做出响应原创 2016-04-21 14:53:35 · 222 阅读 · 0 评论 -
iOS app 上传到AppStore过程中遇到的问题汇总
1> 上传1024*1024的APP图标时,图标中不能包含alpha通道或者透明度; 2> LanchImage的图片格式只能是png格式,jpg格式xcode无法加载成功; 3> 开发者在填写联系人号码的时候,需要在前面带”+”和区号,例如 +8618205197820; 4> 模拟器截图时,要将模拟器的scale设置成100%,解出来的图片才能上传成功,否则截出来的图片无法上传. 5>原创 2016-05-13 11:04:06 · 15089 阅读 · 0 评论 -
iOS app 设置启动图(LanuchImage)
1> 步骤一 创建LaunchImage文件,然后根据不同的尺寸加入不同的不同尺寸的图片;加入图片直接拖动就可以了;最右侧是不同iOS系统下的屏幕方向的设置(Portrait 竖屏)(Landscape 横屏). 2> 切换到下图 设置Launch Image Source; 清空 LaunchScreen File 3> 找到LaunchScreen.xib文件,右侧属性框,取消勾选U原创 2016-10-18 13:42:59 · 750 阅读 · 0 评论 -
iOS 开发过程遇到的问题汇总
<一> 使用TARGET_IPHONE_SIMULATOR和TARGET_OS_IPHONE宏区分模拟器和设备; <二>自定义cell的宽度适配问题 - (instancetype)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier{ self = [super in原创 2016-03-26 16:14:17 · 303 阅读 · 0 评论 -
在Xcode 中如何打包测试版 给测试工程师使用
在Xcode 中如何打包测试版 给测试工程师使用 1》创建发布证书; iOS distrution cer 2》创建测试描述文件; AdHoc provisioning file 测试描述文件的创建主要包含三个要点 首先:选择app ID 注意选择的appID 要与Xcode中的bundleID相同; 其次:选择第一步中创建的发布证书; 最后:选取已经注册UDID的iP原创 2016-03-02 20:13:04 · 6654 阅读 · 0 评论 -
使用苹果企业级开发者账号发布应用程序
搜索原创 2016-03-31 15:10:31 · 443 阅读 · 0 评论 -
iOS --Xcode 调试技术
< 一 > < 二 > 全局断点 < 三 > 条件断点(针对for循环应用最广) 可以给断点设置声音,当遇到断点就会发出声音. < 四 > 符号断点原创 2016-04-22 17:14:42 · 207 阅读 · 0 评论 -
音频文件
有两类主要的音频文件格式: 无损格式,例如WAV,PCM,ALS,ALAC,TAK,FLAC,APE,WavPack(WV) 有损格式,例如MP3,AAC,WMA,Ogg Vorbis原创 2016-06-30 17:16:01 · 321 阅读 · 0 评论 -
Xcode使用技巧
下面是组成窗口的每一个独立区域的快速浏览: The Toolbar(工具栏): 你选择视图,运行app,在不同布局界面切换的地方 The Navigation Area(导航区): 导航你整个工程,警告,报错等的地方 The Editing Area(编辑区): 所有奇迹诞生的地方,包括它上方的Jump bar The Utility Area(工具区): 包含检测器和一些库 The De原创 2016-04-23 11:53:09 · 208 阅读 · 0 评论 -
category 分类
分类 category的使用: http://www.cocoachina.com/ios/20150109/10877.html原创 2015-12-11 18:30:35 · 286 阅读 · 0 评论 -
FMDB的使用
使用FMDB框架创建本地数据库存储数据: 使用步骤入下:/** 1> 创建数据库的存储路径 */NSString *docPath = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask,YES) lastObject];NSString *dbPath = [docPath stringByAp原创 2015-12-04 18:51:17 · 347 阅读 · 0 评论 -
iOS 数据存储--NSUserDefault
NSUserDefaults适合存储轻量级的本地数据,比如要保存一个登陆界面的数据,用户名、密码之类的;使用NSUserDefaults是首选。下次再登陆的时候就可以直接从NSUserDefaults里面读取上次登陆的信息。因为如果使用自己建立的plist文件什么的,还得自己显示创建文件,读取文件,很麻烦,而是用NSUserDefaults则不用管这些东西,就像读字符串一样,直接读取就可以了。NSU原创 2016-03-15 21:20:14 · 398 阅读 · 0 评论 -
iOS GCD的使用
<一> 同步串行 // 创建一个串行队列: dispatch_queue_t queue = dispatch_queue_create(“serial”, DISPATCH_QUEUE_SERIAL); dispatch_sync(queue, ^{// 同步执行 NSLog(@”%@”,[NSThread currentThread]); NSLog(@原创 2016-03-15 15:19:03 · 315 阅读 · 0 评论 -
iOS 应用程序上传更新版本到AppStore(针对个人,公司的苹果开发者账号)
1> 利用苹果开发者账号申请发布证书; 2> 创建发布证书的描述文件; 3> 登录Apple Developer网站,输入开发者账号,进入iTunes connect 中 选择需要更新的APP,进去之后,点击添加新版本;填写新版本的相关详细信息; 4> 打开Xcode,双击安装发布证书与发布的描述文件; 5> project->General->identity->设置bundle I原创 2016-03-14 10:21:20 · 5307 阅读 · 0 评论 -
iOS 项目链接
Coding iOS 客户端Coding官方客户端. 笔者强烈推荐的值得学习的完整APP. GitHub - Coding/Coding-iOS: Coding iOS 客户端源代码OSCHINA 的 iPhone 客户端 开源中国的iPhone客户端源码 https://git.oschina.net/oschina/iphone-appGit@OSCGit@OSC iPhone 客原创 2016-03-11 16:00:58 · 636 阅读 · 0 评论 -
H5 JS CSS 入门
<一> 在iOS 开发中的UIWebView 控件是最具发展前景的控件,因为它是一个跨平台的控件。 <二> 网页的组成部分 1》HTML 网页的具体内容和结构; 超文本标记语言 2》CSS 网页的样式(是美化网页最重要的一块) 层叠样式表 3》JS原创 2016-03-09 10:00:31 · 540 阅读 · 0 评论 -
Mac 常见的命令行interface
cd fileName 进入指定的文件夹pwd 查看当前的文件路径ls 查看当前文件路径下的字文件cd - 返回上一级文件夹原创 2016-03-08 10:21:51 · 518 阅读 · 0 评论 -
NSObject中的常用方法
//用来判断对象中是否实现了某个方法(被封装在一个selector的对象里传递) -(BOOL) respondsToSelector: selector //用来判断对象中是否实现了某个方法. 和上面一个不同之处在于, 前面这个方法可以用在实例上,而此方法用在类上. +(BOOL) instancesRespondToSelector: selector -(id) perf原创 2016-04-12 16:20:59 · 290 阅读 · 0 评论 -
iOS中的initialize与load两个类方法简单理解
如果你在一个UIViewController中重写了这两个类方法,那么你会在在这个控制器中发现一下现象:1,相同之处: (1)这两个类方法在init之前就调用了 (2)在整个应用app中无论你用到这个类多少次,这两个类方法均只会被调用一次2,不同之处: (1)load是在initialize之前被调用 (2)更特别的是,如果你没有用到你重写的这个控制器.那你重写的load类方法也会调用.换句原创 2016-04-12 16:53:18 · 1367 阅读 · 0 评论 -
导航栏影响滚动视图的内部布局问题
http://www.2cto.com/kf/201409/334389.html原创 2016-03-16 16:54:36 · 644 阅读 · 0 评论 -
IM 即时通讯 instant messageing
是原创 2016-03-18 12:43:12 · 940 阅读 · 0 评论 -
网络
1> 访问主机域名 就是访问主机的IP地址 2> DNS 服务器 功能是将域名解析成为IP地址 3> host 文件 4> 端口号 表示进程的逻辑地址 5> 传输协议 即通讯规则(相当于人与人之间交流的语言语法规则) 6> 统一资源定位路径 7> telnet 主机IP 命令可以查看主机服务是否开启; 8> ping -c 4 www.baidu.com 命令 可以查看百度的IP原创 2016-03-26 10:21:29 · 208 阅读 · 0 评论 -
iOS 对于服务器下发数据的判断
{ data = ( { id = “”; pCode = “”; properties = { charge = { align = “”原创 2015-12-02 15:00:53 · 347 阅读 · 0 评论 -
自动定义瀑布流控件的实现<二>
上一篇自定义瀑布流控件的博客中,虽然能显示一个简单的瀑布流控件,但是其性能很差,没有cell的重用机制,如果用这样的瀑布流控件去加载显示图片,应用程序的内存面临很大压力,本篇博客就带领大家去实现瀑布流控件cell的重用,优化其性能。当然重用的本质与系统的UItableView是相同的.原创 2015-12-02 14:51:30 · 258 阅读 · 0 评论 -
自动定义瀑布流控件的实现<一>
自定义瀑布流控件的流程完全是仿照系统控件UITableView进行的。 我们知道UITableView控件向外界展示出来,需要询问它的的数据源代理对象三个问题: 1> 自己有多少个分区; 2> 每个分区有多少行; 3> 每一行显示什么类型的tableViewCell. 这就是所谓的三问,数据源代理对象回答完这三个问题之后,tableView就知道自身的整体构造,然后按照要求显示出来.原创 2015-11-28 10:42:25 · 403 阅读 · 0 评论 -
iOS 视图控制器(ViewController)中的代码规范
在iOS开发过程中,为了增强我的代码的可读性,规范性,层次性,我总结属于自己的一套代码书写风格: 1> 视图控制器自带的View属性的生命周期方法: -(void)viewDidLoad; -(void)viewWillAppear; -(void)viewDidAppear; #pragma mark view life cycle2> 系统控件的代原创 2015-11-28 10:19:14 · 762 阅读 · 0 评论 -
block
使用原创 2015-12-12 16:04:42 · 235 阅读 · 0 评论 -
Xcode中工程的发布版本设置
1> 打开Xcode 点击工程项目; 2> 点击project 看到工程属性设置界面 > 点击info > configurations 在这里我们能看到默认的两个版本设置 Debug 版本与Release 版本; 3> 我们将工程项目进行发布,通常会有三种不同的情形: (1) 将工程打包发布上传到AppStore; (2) 将工程打包发送给已经注册UDID的测试工程师的手机原创 2016-04-14 14:58:15 · 3559 阅读 · 0 评论 -
iOS 中的设计模式--委托代理
<一> iOS 中的委托代理 的本质就是一种观察者模式;代理方就是观察者,当主方的属性状态发生变化的时候,通知代理方作出响应;这里主方与代理方究竟是怎样进行交流互动的,用代码怎样来实现的?? 1> 实现委托代理模式 首先必须存在两个对象,一个主方对象,一个代理方对象; 2> 代理方对象成为主方的代理对象(也就是观察者), 代码体现:主方.delegate = 代理方; 3> 代理方密切关注主方原创 2016-03-26 15:20:07 · 246 阅读 · 0 评论