Mac系统下的IOS开发
文章平均质量分 54
edgargwj
这个作者很懒,什么都没留下…
展开
-
apache的Cordova,编译运行能通过,打包报file not find错误
报错信息如下:'Cordova/CDVFile.h' file not found解决办法:设置header seach path一般情况下设置下面这个就可以了:$(OBJROOT)/UninstalledProducts/$(PLATFORM_NAME)/include如果不行,在添加一下几个路径:HEADER_SEARCH_P原创 2016-01-14 16:13:48 · 1477 阅读 · 0 评论 -
UITableView 重用 UITableViewCell 并异步加载图片时会出现图片错乱的情况的原因
cell重用的时候 cell快速滑动里面的线程加载图片成功以后,图片显示就容易错乱这个问题主要是因为复用cell的时候,网络加载图片需要时间时间,滑动过快的时候,可能image还没下载完成,响应的cell已经被复用. 最简单的方法:把图片的url放入cell中,异步加载完成的时候判断其url是否与cell内的相同,相同的时候再setImage.原创 2015-07-07 16:39:22 · 4168 阅读 · 0 评论 -
优化tableView性能(针对滑动时出现卡的现象)
在iOS应用中,UITableView应该是使用率最高的视图之一了。iPod、时钟、日历、备忘录、Mail、天气、照片、电话、短信、 Safari、App Store、iTunes、Game Center⋯几乎所有自带的应用中都能看到它的身影,可见它的重要性。 然而在使用第三方应用时,却经常遇到性能上的问题,普遍表现在滚动时比较卡,特别是table cell中包含图片的情况时。 实际上只要转载 2015-07-07 16:48:19 · 579 阅读 · 0 评论 -
IOS路径操作----目录查找
测试:NSArray *path1=NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES);//数据所在缓存的绝对路径 NSArray *path2=NSSearchPathForDirectoriesInDomains(NSDesktopDirectory, NSUser原创 2015-05-27 09:49:04 · 1441 阅读 · 0 评论 -
Phonegap2.9.0本地打包html成ios应用
phonegap提供了在线打包的功能,虽然大小限制在30MB以下,但是,可以将应用内部的图片等文件去掉,打包完以后,将ipa文件改成zip文件,再将图片等文件添加进去。本地打包的话,个人感觉更多是便于调试。毕竟上传下载安装蛮麻烦的。首先,要一台mac电脑,并且安装了xcode,模拟器我没用过。xcode需要再安装command line tools for xcode。转载 2015-07-07 17:19:01 · 664 阅读 · 0 评论 -
IOS-ASIHTTPRequest 断点续传
1.导入ASIHTTPRequest第三方类库下载地址:ASIHttpRequest类库 完整代码下载:下载2.在 .h 文件中[cpp] view plaincopy#import #import "ASIHTTPRequest.h" #import "ASINetwor转载 2015-07-07 16:34:44 · 451 阅读 · 0 评论 -
开源框架:SDWebImage的使用
http://blog.csdn.net/uxyheaven/article/details/7909373SDWebImage是我搞iOS以来少数佩服的框架,膜拜一下作者.真的写的非常棒!这套开源框架还是蛮重要的, 涉及到异步加载图片源和自动缓存.我们如果能够熟练使用其API 就可以实现很多复杂的需求了.作者依旧在更新,目前3.0 版本已经非常强大! 简化转载 2015-07-07 16:24:14 · 437 阅读 · 0 评论 -
下拉刷新,UIRefreshControl
现在很多应用软件中有下拉刷新这回事,下拉刷新是apple在IOS6.0以后添加的一个新控件,接下来为大家详细解答UIRefreshControl这个控件首先我们先看系统头文件:对于UIRefreshControl只有寥寥无几的3个属性和2个方法下面我阐述一下个人见解,@property (nonatomic, readonly, getter=isRefreshing) BOOL refr原创 2015-05-25 23:34:10 · 575 阅读 · 0 评论 -
iOS 纯代码适配iPhone6,6p
首先说下让自己的程序支持iPhone6和6+,第一种使用官方提供的launch screen.xib,这个直接看官方文档即可,这里不再多述;第二种方法是和之前iPhone5的类似,比较简单,为iPhone6和6+添加两张特殊的pngiPhone6:命名:Default-375w-667h@2x.png 分辨率:750*13346+ 命名:Default-414w-736h@3x转载 2015-06-29 15:03:44 · 793 阅读 · 0 评论 -
自定义cell,tableviewcell
ios开发UI基础—使用纯代码自定义UItableviewcell实现一个简单的微博界面布局一、实现效果二、使用纯代码自定义一个tableview的步骤1. 新建一个继承自 UITableViewCell 的类2. 重写 initWithStyle:reuseIdentifier: 方法添加所有需要显示的子控件 ( 不需要设置子控件的数据和 fram转载 2015-06-29 15:08:13 · 509 阅读 · 0 评论 -
iOS第三方之FMDB
FMDB有三个主要的类1.FMDatabase – 表示一个单独的SQLite数据库。 用来执行SQLite的命令。2.FMResultSet – 表示FMDatabase执行查询后结果集3.FMDatabaseQueue – 如果你想在多线程中执行多个查询或更新,你应该使用该类。这是线程安全的。数据库创建创建FMDatabase对象时参数为SQLi转载 2015-07-07 16:52:43 · 486 阅读 · 0 评论 -
FMDB的简单使用
//创建数据库,并连接-(void)createdata{ NSArray *doucumentDirectory=NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); NSString *file=[doucumentDirecto转载 2015-07-07 16:55:45 · 569 阅读 · 0 评论 -
清空离线缓存功能的实现,主要分为缓存文件大小的获取、删除缓存文件的实现
移动应用在处理网络资源时,一般都会做离线缓存处理,其中以图片缓存最为典型,其中很流行的离线缓存框架为SDWebImage。但是,离线缓存会占用手机存储空间,所以缓存清理功能基本成为资讯、购物、阅读类app的标配功能。今天介绍的离线缓存功能的实现,主要分为缓存文件大小的获取、删除缓存文件的实现。获取缓存文件的大小由于缓存文件存在沙箱中,我们可以通过NSFileMana转载 2015-08-04 10:43:28 · 1148 阅读 · 0 评论 -
iOS开发XCODE5 SVN配置 使用办法
把所有代码放到公司的SVN服务器上,按照我的想法肯定是就苹果组建一个服务器,然后内部版本控制,自带的Xcode就有这个功能,之前也这么做过,但是xcode4.X系列SVN还是很好用,自从升级到Xcode5之后还没弄过。今天试了一下午还是没完全明白,眼看弄不出来,就直接用命令行了,不过一些简单的东西还是试出来了。1.如何使用Xcode5 SVN从公司服务器 check out项目S转载 2015-07-23 11:25:41 · 642 阅读 · 0 评论 -
ios网络请求 get——post 区别
1、同步请求可以从因特网请求数据,一旦发送同步请求,程序将停止用户交互,直至服务器返回数据完成,才可以进行下一步操作,2、异步请求不会阻塞主线程,而会建立一个新的线程来操作,用户发出异步请求后,依然可以对UI进行操作,程序可以继续运行3、GET请求,将参数直接写在访问路径上。操作简单,不过容易被外界看到,安全性不高,地址最多255字节;4、POST请求,将参数放到body里转载 2015-07-14 16:09:55 · 682 阅读 · 0 评论 -
iOS开发宝典:String用法大全
一、NSString 创建字符串。 NSString *astring = @"This is a String!"; 创建空字符串,给予赋值。 NSString *astring = [[NSString alloc] init]; astring = @"This is a String!"; NSLog(@"astring:%@",astring); s转载 2015-07-07 17:40:25 · 626 阅读 · 0 评论 -
iOS:字符串过滤掉非法字符
这篇总结要说的问题其实并不难,单纯就是为了总结下思路。比如有一个字符串叫tempString,包含有一些非法字符并不是我们想要的,这个tempString如下:+86 150-1111-1234#,再复杂点可能是(010)*(123)E6(234)**150-1111-^^-1234#等。在应用中我们仅仅是想保留下字符串里的数字,括号、百分号等这些非数字的符号就得过滤掉。过转载 2015-07-07 17:37:30 · 1152 阅读 · 0 评论 -
解析非标准json的方法
ios只能解析标准格式的json 比如 "key":"value"这种形式,如果出现不带双引号的key或只有单引号的value,就是解析出错。这点不像安卓,可以强转。在项目中,我就遇到了这种不标准的json字符串需要解析,在网上大概搜索了下,没有找到可用的第三方库解析,我决定自己写。我的想法是,把不带引号的key加上双引号,再把带有单引号的value转换成双引号的value。通过正转载 2015-07-07 17:09:28 · 6098 阅读 · 0 评论 -
UITableView 重用 UITableViewCell 并异步加载图片时会出现图片错乱的情况
UITableView 重用 UITableViewCell 并异步加载图片时会出现图片错乱的情况对错位原因不明白的同学请参考我的另外一篇随笔:http://www.cnblogs.com/lesliefang/p/3619223.html 。当然大多数情况下可以用 SDWebImage, 这个库功能强大,封装的很好。但自己重头来写可能对问题理解的更深。SDWebImage转载 2015-07-07 16:38:03 · 2343 阅读 · 0 评论 -
最新版SDWebImage的使用
我之前写过一篇博客,介绍缓存处理的三种方式,其中最难,最麻烦,最占内存资源的还是图片缓存,最近做的项目有大量的图片处理,还是采用了SDWebImage来处理,但是发现之前封装好的代码报错了。研究发现,是我用了新版的SDWebImage,好多方法都变了。现在把代码贴出来,供大家参考。尤其是新手,看完这篇博客,图片缓存so easy。最后有demo供大家下载,先学习。第一步,下载SDW转载 2015-07-07 16:28:16 · 488 阅读 · 0 评论 -
CocoaPods安装和使用教程
Code4App 原创文章。转载请注明出处:http://code4app.com/article/cocoapods-install-usage目录CocoaPods是什么?如何下载和安装CocoaPods?如何使用CocoaPods?场景1:利用CocoaPods,在项目中导入AFNetworking类库场景2:如何正确编译运行一个包含CocoPods类库的项目Co转载 2015-07-08 11:25:58 · 624 阅读 · 0 评论 -
IOS 日期和时间的使用
主要有以下类: NSDate -- 表示一个绝对的时间点NSTimeZone -- 时区信息NSLocale -- 本地化信息NSDateComponents -- 一个封装了具体年月日、时秒分、周、季度等的类NSCalendar -- 日历类,它提供了大部分的日期计算接口,并且允许您在NSDate和NSDateComponents之间转换NSDateForma转载 2015-05-19 10:52:38 · 1079 阅读 · 0 评论 -
UITableView NSThread 实现动态加载图片
iPhone在加载列表时,如果每个等待把所有列表中的数据都加载完在显示相关内容,如果列表中有一些比较大的图片,加载的时间比较长,那么给用户的效果就很差了,下面详细是一种实现动态加载图片的办法:- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *原创 2015-05-22 23:02:30 · 580 阅读 · 0 评论 -
UINavigationController和UITabBarController的组合使用
1.导航类型UINavigationController 适用于父子页面的跳转UITabBarController 适用于平级页面的跳转 2.presentViewController / dismissViewControllerAnimated和pushViewController / popViewController(1)只有从UINavigatio转载 2015-05-18 23:31:18 · 586 阅读 · 0 评论 -
IOS中block的声明定义和使用 一
对于IOS中Block得使用方法,以下我对Block的使用进行简单的介绍1:首先声明一个Block指针有参有返回值的Block的声明方式如下:无参和无返回值的void (^myBlock)(void);有参有返回值的int (^myBlock)(int,double);总结:返回类型 (^Block名称)(参数类型,...);2:Block的定义^原创 2015-05-08 15:10:03 · 3690 阅读 · 0 评论 -
KVC 与 KVO 基本了解
KVC 与 KVO 是 Objective C 的关键概念,个人认为必须理解的东西,下面是实例讲解。Key-Value Coding (KVC)KVC,即是指 NSKeyValueCoding,一个非正式的 Protocol,提供一种机制来间接访问对象的属性。KVO 就是基于 KVC 实现的关键技术之一。一个对象拥有某些属性。比如说,一个 Person 对象有一个 na转载 2015-04-20 23:50:52 · 597 阅读 · 0 评论 -
autorelease
总觉得autorelease这里掌握的不到位,但涉及到内存管理,实在不可小视。今天参考了网上的不少文章和官方API文档,做了如下总结。1、autorelease是什么?autorelease是一种支持引用计数的内存管理方式它可以暂时的保存某个对象(object),然后在内存池自己的排干(drain)的时候对其中的每个对象发送release消息注意,这里只是发送r转载 2015-04-20 22:18:11 · 488 阅读 · 0 评论 -
IOS7 tabBarItem 自定义图片的设置
显示不了自定义的图片。IOS7之前的方法是:setFinishedSelectedImage:withFinishedUnselectedImage:Sets the finished selected and unselected images. (Deprecated in iOS 7.0. Use image and selectedImage with UIIm转载 2015-02-26 23:49:29 · 707 阅读 · 0 评论 -
IOS单例模式(MRC下和ARC下)
LSSingleInsten.h#import @interface LSSingleInsten : NSObject@property (nonatomic,assign) NSInteger Value;+ (LSSingleInsten*)CreateInsten;@endLSSingleInsten.m#import "LSSingleInsten.h"stat原创 2015-02-11 14:40:52 · 1125 阅读 · 0 评论 -
Xcode问题。。。(逐步更新)
在开发过程中,有得错误并不是程序本身问题。而是编译器问题。那么这里我为大家逐步提供一下Xcode中的编译器问题。1:'/Users/lion/Library/Developer/Xcode/DerivedData/ModuleCache/3OFFEE8KEO/Object-C.pcm' was built解决方法:使用终端命令进入/Users/lion/Library/Develo原创 2015-02-07 00:27:22 · 578 阅读 · 0 评论 -
IOS中属性的关键修饰词:strong weak assign copy retain等。。
@property与@synthesize是成对出现的,可以自动生成某个类成员变量的存取方法。在Xcode4.5以及以后的版本,@synthesize可以省略。1.atomic与nonatomicatomic:默认是有该属性的,这个属性是为了保证程序在多线程情况,编译器会自动生成一些互斥加锁代码,避免该变量的读写不同步问题。nonatomic:如果该对象无需考虑多线程的情况,请加入这个转载 2015-02-09 11:09:09 · 1504 阅读 · 0 评论 -
iOS开发概述UIkit动力学,讲述UIKit的Dynamic特性。以及手势和动力结合使用的案例
UIDynamicAnimatorUIAttachmentBehavior(吸附)UIPushBehavior(推动)UIGravityBehavior(重力)UICollisionBehavior(碰撞)UISnapBehavior(捕捉)UICollectionView与UIDynamicAnimatorUIDynamicAnimator转载 2014-12-29 23:25:38 · 871 阅读 · 0 评论 -
View和ViewController的生命周期问题(好文章)
一、ViewController的职责对内管理与之关联的View,对外跟其他ViewController通信和协调。对于与之关联的View,ViewController总是在需要的时候才加载视图,并在不需要的时候卸载视图,所以也同时担当了管理应用资源的责任二、ViewController的生命周期View是指Controller的View。它作为Controler的属性,生转载 2015-02-06 11:46:41 · 705 阅读 · 0 评论 -
Block的具体研究 二
Block Pointer当成参数传递给一个function,比如:[cpp] view plaincopyvoid myFunction(int (^mySquare)(int)); //function的定义,将Block作为参数 int (^mySquare)(int) = ^(int a){return a*a;};原创 2015-05-08 15:25:30 · 649 阅读 · 0 评论 -
IOS 多线程,线程同步的三种方式
一般情况下我们使用线程,在多个线程共同访问同一块资源。为保护线程资源的安全和线程访问的正确性。在IOS中我们一般情况下使用以下三种线程同步代码方式:第一种和第二种代码同步的使用方法,一般情况下我们只需要使用NSLock和NSCondition申明2个属性。然后给此属性赋对应的值。那么即可作为安全防控的线程手段。同时也可以保证线程的资源安全。1:NSLock方式[xxxloc原创 2015-05-04 22:30:24 · 1410 阅读 · 0 评论 -
sizeWithFont详细说明
Computing Metrics for a Single Line of Text– sizeWithFont: 同下面,换行方式默认取NSLineBreakByWordWrapping– sizeWithFont:forWidth:lineBreakMode: 将字符串放入指定宽度,如果不够,就依据换行方式截断字符串,返回其大小。– sizeWithFont:minFontSiz转载 2015-05-22 09:48:27 · 769 阅读 · 0 评论 -
tableView的编辑模式
可以向TableView中插入、删除、移动Cell的一种状态。 如何进行编辑模式(1)UITableView有个属性editing(BOOL),将其值设置为YES会进行编辑模式,NO会退出编辑模式。(2)如何删除和插入两问一响应:之两问:哪些行进行编辑模式:(默认是所有行)-(BOOL)tableView:canEditRowAtIndexPath进入模式原创 2015-05-15 15:38:22 · 1209 阅读 · 0 评论 -
IOS 获取系统时间的方法
//得到的是当前时间 世界标准时间 UTC NSDate *date = [[NSDate alloc]init]; NSLog(@"date:%@",date); //转换系统时间为本地时间 NSDateFormatter *dateFormatter = [[NSDateFormatter alloc]init];原创 2015-05-15 15:28:35 · 891 阅读 · 0 评论 -
竖着显示的“UIPageControl”
竖着显示的“UIPageControl” 竖着显示的“UIPageControl”,其实是自己封装的一个UIButton 原理:根据传入的page的个数利用for循环创建UIButton,默认的都是灰色!再创建一个红色UILabel,滑动scroll的时候,让UILabel跟着button的坐标走//pageControl- (void)customButton:(转载 2015-05-15 00:55:18 · 1577 阅读 · 0 评论 -
IOS 中frame bounds origin的区别
frame 框架origin就是所謂的起點位置frame在ios里并不是一个具体的对象,他只是一些控件的一个属性。frame的值就是一个CGRect 包括(originX,originY,width,height)。originX和originY对应着该对象在其superview中的坐标,也就是说他是一个相对坐标。view 的frame是view在它的super view 的位原创 2015-05-15 10:30:29 · 2086 阅读 · 0 评论