iOS开发
文章平均质量分 64
BeLeaderOfMyLife
专一iOS平台终端开发以自己有限的生命奉献给无穷的编程时光热爱生活更热爱编程
展开
-
开发中遇到的问题
Xcode 4.3.2 无法生成IOS APP ARCHIVE 而生成 Generic Xcode ArchiveMissing iOS Distribution signing identity问题解决控制了时间,就控制了一切!-iOS中几种定时器Exporting Your App for Testing (iOS, tvOS, watchOS)原创 2016-08-18 10:23:08 · 520 阅读 · 0 评论 -
[iOS进阶]事件机制
参考文章:http://blog.csdn.net/wzzvictory/article/details/92643351、事件分类对于IOS设备用户来说,他们操作设备的方式主要有三种:触摸屏幕、晃动设备、通过遥控设施控制设备。对应的事件类型有以下三种:触屏事件(Touch Event)(单点、多点触控以及各种手势操作)运动事件(Motion Event)(重力、加速度传感器等)远端控制事件(转载 2015-05-04 16:05:40 · 661 阅读 · 0 评论 -
[摘要]Effective Objective-C 2.0(一)
在类的头文件尽量少引入其他头文件原因:假如你在头文件A中引入了B、C…等其他头文件,那么当你引入头文件A时,就需要引入B、C…等头文件,提高了类之间的耦合度,增加了编译时间处理:尽量不要引入头文件。一般来说,应该在某个类的头文件中使用向前声明来提及别的类,并在实现文件中引入那些类的头文件 向前声明:提前告诉编译器后面有这个类的声明,在C++中避免相互引用,格式如:@class MyClass;原创 2015-10-11 20:06:23 · 530 阅读 · 0 评论 -
[iOS基础]文件读取详解
文件操作创建文件夹: NSString *imageDir = [NSString stringWithFormat:@"%@/Caches/%@", NSHomeDirectory(), dirName]; BOOL isDir = NO; NSFileManager *fileManager = [NSFileManager defaultManager]; BOOL existed =原创 2015-11-09 19:07:58 · 530 阅读 · 0 评论 -
[iOS进阶]Reveal使用技巧
问题按照教程引入Reveal,运行时却出现如下错误: Undefined symbols for architecture i386: “_deflate”, referenced from: -[IBAHTTPJSONResponse initWithJSONString:compress:] in Reveal(IBAHTTPJSONResponse.o) “_deflate原创 2015-10-26 19:29:45 · 1162 阅读 · 0 评论 -
[面试时]我是如何讲清楚GCD的
1、概述 GCD是苹果引入的多线程编程技术方案,原名“Grand Central Dispatch”,在GCD之前,已经出现了NSThread、NSOperationQueue,两项多线程解决方案,其对比如下: - GCD NSOperatinQueue NSThread 解析 基于C语言框架,充分利用多核,苹果推荐的多线程技术 面向对象多线程编程 轻量级多线程编程,原创 2015-10-02 17:12:52 · 2209 阅读 · 0 评论 -
[面试时]我是如何讲清楚Block的
1、概述blocks是OS X Snow Leopard和iOS4引入的C语言扩充语法,其优点在于代码简洁而且集中,而且还可以写匿名函数!2、Blocks 模式2.1、语法2.1.1完整版本^ ( 返回值类型 ) (参数列表) (表达式)^int (int count) {return count + 1;}2.1.2返回值类型^ (参数列表) (表达式)^ (int count) {return原创 2015-04-18 14:18:42 · 1645 阅读 · 0 评论 -
[iOS基础]从使用UIPopoverController到UIViewController弹出模态
描述在iPad中,UIPopoverController可以说比较常见,比如点击某个按钮,会弹出一个带箭头的View,可以在View上进行操作,点击View的其他领域,View消失。使用UIPopoverController的使用至少有如下 4 步://第一步:通过一个UIViewController初始化一个UIPopoverController,其中exportViewCon是已经定义好的UIV原创 2015-11-08 21:46:34 · 2657 阅读 · 0 评论 -
[iOS进阶]AFNetworking 学习小结
AFNetworking 2.0 框架简介AFNetworking 框架使用AFNetworking源码解析<一> AFNetworking源码解析<二> AFNetworking源码解析<三> AFNetworking源码解析<四>NSURLConnection与NSURLSession区别ASIHttpClient与AFNetworking的区别原创 2015-10-06 21:32:22 · 536 阅读 · 0 评论 -
[iOS进阶]iOS消息机制
1、静态绑定和动态绑定的区别静态绑定,即在编译时就直接将要调用函数的地址写进去,酱紫就直接进入调用函数中,如下代码中,编译器在编译的时候就已经知道程序中有printHello与printGoodbye两个函数,遇事会直接生成调用这些函数的指令。#import <mtdio.h>void printHello(){ printf("Hello, world\n");}void printGo原创 2015-05-04 11:56:51 · 732 阅读 · 0 评论 -
[iOS基础]关于Mail的一切
使用说道iOS Mail就应该提到MFMailComposeViewController以及MFMailComposeViewControllerDelegate 下面来看看如何使用该类://初始化MailController MFMailComposeViewController *mailViewCon = [[MFMailComposeViewController alloc原创 2015-11-11 15:58:51 · 690 阅读 · 0 评论 -
[学习小结]developing iOS7 for iPhone and iPad 1~5
理解MVC在iOS中,MVC是比较常用的开发策略。M指Model,即存储数据的模型,V指View视图层,C指Controller,如下图: 他们之间的关系是:C能够分别和M、V单向通信,即C能够从M提取数据,并指派V显示数据M也不能够直接跟C通信,它只能通过KVO或者Notification的方法告知C。V禁止和M通信,但是能够通过Target和Action的方式与C通信,这时可以想到代原创 2015-12-09 23:00:26 · 651 阅读 · 0 评论 -
iOS开发知识总结
iOS App 图标和启动画面尺寸Lauch Image 一张图了解App Icon 更多具体信息在这里了解App Icons on iPad and iPhoneiOS Human Interface Guidelines也对界面设计有讨论,因此可以参考。App Icon initWithFrame与initWithCoder的区别initWithCoder: 对于.xib,当你嵌入一原创 2015-09-09 16:33:13 · 355 阅读 · 0 评论 -
OC编码风格
OC编码风格:The official raywenderlich.com Objective-C style guide.相关文章: 1、Objective-C编程规范 2、Clang Diagnostics关于风格我需要改进的地方每行代码缩进以2个空格为单位,避免使用tab缩进尽量不要复制方法,因为Xcode会自动将代码风格改变为难以辨认的样式方法、变量等名字要写全类名、常量要加前缀原创 2016-07-24 20:38:43 · 924 阅读 · 0 评论 -
苹果Swift编程语言入门教程【中文版】
Swift代码语言教程:在刚刚过去的WWDC2014大会上,苹果公司新发布了一种编程语言Swift。据悉,Swift语言继承了C语言以及Objective-C的特性,且克服了C语言的兼容性问题,对于广大开发者来说,这无疑是一剂难以抗拒的兴奋剂。希望苹果Swift编程语言入门教程【中文版】,能助你更迅速掌握好它。 注:本文从苹果官方所发布的书籍《The Swift Programming Lang转载 2016-05-29 12:39:37 · 3468 阅读 · 0 评论 -
CocoaPods实践之制作篇
总结CocoaPods制作步骤:CocoaPods制作要点:1、需要添加license类型,这里选择了MIT License。 2、.podspec文件内容参考Pod::Spec.new do |s| s.name = "SJDropDownView" s.version = "1.0.0" s.summary = "A dr原创 2016-03-30 22:22:43 · 673 阅读 · 0 评论 -
[iOS 静态库]在iOS中创建静态库
学习了Creating a Static Library in iOS Tutorial,本想做一下翻译的工作,但是在网上已经有人翻译过了,因此不添足。译文请见:《在iOS中创建静态库》在实践中,发现了一些奇怪的错误。根据文章编写了程序,ImageFilters,写了脚本生成通用静态库,在CoreImageFun工程中使用。1、在iPhone5s上编译,必须按照如下设置: 否则会出现如下错误:原创 2016-03-29 21:54:36 · 970 阅读 · 1 评论 -
[iOS进阶]Baidu Map SDK之批量请求
[待跟进]原创 2015-12-03 10:24:19 · 722 阅读 · 0 评论 -
[iOS进阶]多线程中的内存控制
autorelease对象具体什么时候释放 Objective C内存管理进阶(二):理解autorelease原创 2015-12-03 11:48:21 · 633 阅读 · 0 评论 -
[iOS开发]UISplitViewController的使用
UISplitViewController头文件//// UISplitViewController.h// UIKit//// Copyright (c) 2009-2014 Apple Inc. All rights reserved.//#import <UIKit/UIKit.h>@protocol UISplitViewControllerDelegate;typedef原创 2015-10-20 20:49:23 · 2877 阅读 · 1 评论 -
[开发小结]Set游戏设计
Set Game 简介在完成斯坦福iOS开发课程作业时候,遇到了一个Set游戏,一开始不是很懂,于是搜索了一下,了解了大概,现在做下总结。一种纸牌匹配类游戏,四个类型的属性(包括形状、数量、颜色和条纹),每种属性都有三种形态,例如: 一种属性有三种形态,总共有 3X3X3X3 = 81 张牌所谓集(Set)的定义是每一个Set中的牌的属性必须是完全相同或者完全不同 某两个属性一致,第原创 2015-12-12 00:27:48 · 2173 阅读 · 0 评论 -
[iOS进阶]XMPPFramework 学习小结
XMPP githubXMPP原理XMPP原理XMPP原理XMPP原理XMPP的iOS聊天构建使用XMPPFramework (一)添加XMPPFramework 使用XMPPFramework (二)用户登录 使用XMPPFramework (三)好友状态 使用XMPPFramework (四)收发消息 使用XMPPFramework (五)好友列表原创 2015-10-06 21:47:55 · 537 阅读 · 0 评论 -
[iOS进阶]FMDataBase 学习小结
待跟进…原创 2015-10-06 21:53:41 · 462 阅读 · 0 评论 -
iphone开发基础之objective-c学习
【1】内存管理1手动内存管理1.1 dealloc函数1.2自动释放对象1.3retain计数规则1.4Accessor方法2使用ARC2.1强引用2.2弱引用【2】并发性1多线程原创 2013-03-24 19:13:16 · 621 阅读 · 0 评论 -
[iOS进阶]探索iOS开发中各种机制
1、缓存机制iOS缓存机制主要包括按需缓存和预缓存两种,一般常用的时按需缓存,只有当应用需要实现用户对离线数据也能处理的时候才需要预缓存。按需缓存又分为URL缓存和数据模型缓存模式,数据模型缓存可以采用NSKeyedArchive和NSKeyedUnarchive来实现,需要遵循NSCoding协议,如SDWebImage就是用来处理imge缓存的第三方库。如果遵循HTTP1.1 协议的缓存规范,那原创 2015-05-04 20:00:06 · 1761 阅读 · 0 评论 -
[iOS进阶]iOS缓存机制详解
文章参考自:http://www.cnblogs.com/qiqibo/p/3520635.html1、为什么需要缓存 应用需要离线工作的主要原因就是改善应用所表现出的性能。将应用内容缓存起来就可以支持离线。我们可以用两种不同的缓存来使应用离线工作。 第一种是按需缓存,这种情况下应用缓存起请求应答,就和Web浏览器的工作原理一样;第二种是预缓存,这种情况是缓存全部内容(或者最近n条记录)以转载 2015-05-03 22:26:29 · 2500 阅读 · 1 评论 -
iphone开发之SDK研究(待续)
【1】视图控制器【2】表格视图【3】导航视图【4】文件I/O【5】事件、multi-touch和手势【6】core animation【7】map kit【8】加速计原创 2013-03-24 19:18:47 · 634 阅读 · 0 评论 -
Variable property attributes or Modifiers in iOS
After reading so many Articles, SO posts and made demo apps to check Variable property attributes, I decided to put all the attributes information togetheratomic //defaultnonatomicstrong=ret转载 2013-04-10 21:49:14 · 833 阅读 · 0 评论 -
NSNotificationCenter 用法总结
【原】NSNotificationCenter未必一定要建在消息接收者的类中。可以放在别的类中,先实例化一下,然后把observer赋值为刚对象。这里的observer相当于接受者(receiver),object相当于发送者(poster)。理解了这点就可以较灵活地使用通知了。iPhone软件开发的时候会遇到这种情况:打开APP后会在后台运行某个方法,例如下载文件,下载完成后可能需要调用某个转载 2013-04-17 21:41:19 · 732 阅读 · 0 评论 -
两界面间传值方法总结
以下以viewB传值给viewA 为例1)属性传值 @interface和@implemented方法:在viewA的属性中声明变量,在viewB中声明、定义viewA,并将值传递给viewA的属性值。2)protocol 和 delegate 回调函数传值(该方法只适合界面上下层的传值)方法:在viewA中@protocol viewAControllerDelega原创 2013-04-17 21:29:19 · 1699 阅读 · 0 评论 -
NSNotificationCenter用法总结
Notificationcenter的用法:【原】NSNotificationCenter未必一定要建在消息接收者的类中。可以放在别的类中,先实例化一下,然后把observer赋值为刚对象。这里的observer相当于接受者(receiver),object相当于发送者(poster)。理解了这点就可以较灵活地使用通知了。iPhone软件开发的时候会遇到这种情况:打开APP后会在后台运转载 2013-04-17 21:40:24 · 613 阅读 · 0 评论 -
UIApplication 簡單筆記
Contents常用的功能取得 application instance搖晃 undo 設定push notification自動睡眠功能status bar 的控制控制 network active indicatorBackground小結所有的 iPhone 應用程式都有唯一的一個 UIApplication instance,這個 instance转载 2013-04-17 21:00:05 · 700 阅读 · 0 评论 -
iOS程序启动过程
参考文章:http://www.cnblogs.com/ydhliphonedev/archive/2012/07/30/2615801.html 参考文章:http://www.w2bc.com/Article/4293UIApplicationUIApplication的核心作用是提供了iOS程序运行期间的控制和协作工作。UIApplication的一个主要工作是处理用户事件,它会起一个队列,原创 2015-09-09 20:49:51 · 468 阅读 · 0 评论 -
iOS ViewCotroller生命周期
参考文章:http://www.cnblogs.com/Piosa/archive/2012/02/22/2363258.html如上图所示:加载循环:程序请求了controller的view.如果view当前不在内存中,controller调用loadview函数。 loadView 进行如下操作:如果你重载了这个函数,你应该自己创建必要的views并且将一个非nil值赋给view属性如果原创 2015-09-10 00:08:09 · 892 阅读 · 0 评论 -
[摘要]Effective Objective-C 2.0(二)
用前缀避免命名空间冲突类似于Cocoa前缀NS、UI等,但是Apple宣称其保留使用所有“两字母前缀”,因此最好自定义前缀最好是三字母的。若自己开发的程序库用到了第三方库,则应为其中的名称加上前缀提供“全能初始化方法”原因:使其他初始化方法与底层数据解耦合,当底层数据存储机制发生改变时,只需要修改该函数的代码即可。处理在类中提供一个全能初始化方法,,其他初始化方法均应调用此方法全能初始化原创 2015-09-30 20:57:16 · 549 阅读 · 0 评论 -
[iOS进阶]SDWebImage 学习小结
待跟进…原创 2015-10-06 21:51:54 · 639 阅读 · 0 评论 -
[iOS进阶]Socket 网络编程
文章参考:http://blog.csdn.net/liulanghk/article/details/463258611.TCP/IP、UDPTCP/IP(Transmission Control Protocol/Internet Protocol)即传输控制协议/网间协议,是一个工业标准的协议集,它是为广域网(WANs)设计的。 UDP(User Data Protocol,用户数据报协议转载 2015-10-06 17:33:17 · 884 阅读 · 0 评论 -
[iOS进阶]自己动手写KVO总结
KVO原理: 当你观察一个对象时,一个新的类会动态被创建。这个类继承自该对象的原本的类,并重写了被观察属性的 setter 方法。自然,重写的 setter 方法会负责在调用原 setter 方法之前和之后,通知所有观察对象值的更改。最后把这个对象的 isa 指针 ( isa 指针告诉 Runtime 系统这个对象的类是什么 ) 指向这个新创建的子类,对象就神奇的变成了新创建的子类的实例。原创 2015-10-06 13:33:36 · 1275 阅读 · 0 评论 -
[转]KVC 与 KVO 理解 自己动手实现KVO
文章转自:http://magicalboy.com/kvc_and_kvo/KVC 与 KVO 是 Objective C 的关键概念,个人认为必须理解的东西,下面是实例讲解。Key-Value Coding (KVC)KVC,即是指 NSKeyValueCoding,一个非正式的 Protocol,提供一种机制来间接访问对象的属性。KVO 就是基于 KVC 实现的关键技术之一。一个对象拥有某些属转载 2015-09-20 21:07:28 · 733 阅读 · 0 评论 -
[摘要]Effective Objective-C 2.0(四)
多用块枚举 少有for循环遍历collection有四种方式,如下:最新、最先进的方式,而且能够通过GCD来并发执行遍历操作NSArray *anArray = /*...*/;[anArray enumerateObjectsUsingBlock:^(id object, NSUInteger idx, BOOL *stop){ if(shouldStop){ *st原创 2015-10-03 15:52:01 · 561 阅读 · 0 评论