- 博客(32)
- 资源 (7)
- 问答 (1)
- 收藏
- 关注
转载 iOS 7:隐藏的特性和解决之道
当 iOS7 刚发布的时候,全世界的苹果开发人员都立马尝试着去编译他们的app,接着再花上数月的时间来修复任何出现的故障,甚至重做app。这样的结果,使得人们根本无暇去探究 iOS7 所带来的新东西。一些明显而细微的更新,比如说[NSArray firstObject],这个方法可追溯到 iOS4 时代,现在被提为公有API,除此之外,还有很多隐藏的特性等着我们去挖掘。 平滑淡
2013-11-29 16:36:54 1067
转载 iOS 7系列译文:iOS7的多任务处理
在iOS7之前,当程序退出后,开发者对程序几乎做不了什么。除了VOIP和基于位置的特性,唯一能够在后台运行代码的途径只有使用后台任务(background tasks),但后台任务只会执行几分钟。如果你想要下载一部很大的视频以便离线观看,或者将用户图片备份到服务器,你只能完成部分的任务。ios7新添加了两个可以在后台更新应用程序界面和内容的APIs。第一个API是后台获取(Backgrou
2013-11-29 11:42:53 867
原创 反射解析
首先创建一个继承NSObject的类MyObject,因为用到了Obj-c运行时的相关方法,所以需要导入运行时的头文件。#import 接着在.m里接着就是解析数据啦#pragma mark --------利用反射取得NSObject的属性,并存入到数组中- (NSArray*)getPropertyList{ unsign
2013-11-23 12:51:26 828
原创 自定义UITableViewCell并实现重用
1、F----New Filss---Cocoa Touch Classes---Object-C Class 创建一个 从 UITabelViewCell继承的类 UISpecialTableViewCell 2。Add---New Files----User Interface-----Empty XIB 创建一个空的
2013-11-13 11:34:48 698
转载 GCD实战2:资源竞争
概述我将分四步来带大家研究研究程序的并发计算。第一步是基本的串行程序,然后使用GCD把它并行计算化。如果你想顺着步骤来尝试这些程序的话,可以下载源码。注意,别运行imagegcd2.m,这是个反面教材。。 imagegcd.zip (8.4 KB, 347 次) 原始程序我们的程序只是简单地遍历~/Pictures然后生成缩略图。这个程序是个命令行程序
2013-10-10 16:49:42 643
转载 GCD实战一:使用串行队列实现简单的预加载
其主要思路是使用gcd创建串行队列,然后在此队列中先后执行两个任务:1.预加载一个viewController 2.将这个viewController推入代码如下:@implementation DWAppDelegate{ dispatch_queue_t _serialQueue; UINavigationController *_navController;}
2013-10-10 16:47:49 648
转载 GCD介绍(四): 完结
Dispatch Queue挂起dispatch queue可以被挂起和恢复。使用 dispatch_suspend函数来挂起,使用 dispatch_resume 函数来恢复。这两个函数的行为是如你所愿的。另外,这两个函数也可以用于dispatch source。一个要注意的地方是,dispatch queue的挂起是block粒度的。换句话说,挂起一个queue并不会将当前正
2013-10-10 16:46:48 565
转载 GCD介绍(三): Dispatch Sources
何为Dispatch Sources简单来说,dispatch source是一个监视某些类型事件的对象。当这些事件发生时,它自动将一个block放入一个dispatch queue的执行例程中。说的貌似有点不清不楚。我们到底讨论哪些事件类型?下面是GCD 10.6.0版本支持的事件:Mach port send right state changes.Mach p
2013-10-10 16:42:26 652
转载 GCD介绍(二): 多核心的性能
概念为了在单一进程中充分发挥多核的优势,我们有必要使用多线程技术(我们没必要去提多进程,这玩意儿和GCD没关系)。在低层,GCD全局dispatch queue仅仅是工作线程池的抽象。这些队列中的Block一旦可用,就会被dispatch到工作线程中。提交至用户队列的Block最终也会通过全局队列进入相同的工作线程池(除非你的用户队列的目标是主线程,但是为了提高运行速度,我们绝不会这么干)
2013-10-10 16:17:33 526
转载 GCD介绍(一): 基本概念和Dispatch Queue
什么是GCD?Grand Central Dispatch或者GCD,是一套低层API,提供了一种新的方法来进行并发程序编写。从基本功能上讲,GCD有点像NSOperationQueue,他们都允许程序将任务切分为多个单一任务然后提交至工作队列来并发地或者串行地执行。GCD比之NSOpertionQueue更底层更高效,并且它不是Cocoa框架的一部分。除了代码的平行执行能力,GC
2013-10-10 16:12:09 561
转载 iOS实现反射机制
移动互联网下iOS客户端的开发,一般都会与服务端进行通讯,也会使用到Sqlite数据库来保存一些数据,按常规的搞法,一般都需要手动建表结构,写实体类对象,然后写插入、更新、查询等语句来实现功能,因此想到是否有一种通用的办法来进行一些代码方面的减负工作。通过这个项目的实践,已经找到了答案。在使用这些代码前,我们进行了以下的约定:1. sqlite的数据库表名直接使用实体类的类名;2.
2013-10-08 17:03:00 897
转载 iOS多线程GCD
Grand Central Dispatch (GCD)是Apple开发的一个多核编程的解决方法。dispatch queue分成以下三种:1)运行在主线程的Main queue,通过dispatch_get_main_queue获取。/*!* @function dispatch_get_main_queue** @abstract* Returns the
2013-09-22 20:41:21 533
转载 自定义UIActionSheet
转自:http://o0o0o0o.iteye.com/blog/1749756一:模态视图UIActionSheet、UIAlertView、GKPeerPickerController、UIAPopover、GKPanel等都是ios系统自带的模态视图。模态视图的一个重要的特性就是在显示模态视图的时候可以阻断其他视图的事件响应。该特性在有些时候对我们
2013-08-29 15:08:14 610
原创 本地通知UILocalNotification
UILocalNotification *newNotification = [[UILocalNotificationalloc] init]; if (newNotification) { newNotification.fireDate = [NSDatedate];//fireDate是UILocalNotification的激发的确切时间
2013-08-24 10:36:44 579
转载 UITableViewCell的选中时的颜色及tableViewCell的selecte与deselecte
1.系统默认的颜色设置 //无色 cell.selectionStyle = UITableViewCellSelectionStyleNone; //蓝色 cell.selectionStyle = UITableViewCellSelectionStyleBlue; //灰色 cell.selectionStyle = UITableViewCellSelectio
2013-08-23 20:17:17 619
原创 对象的属性
属性的声明:用@property (copy,nonatomic) NSString * name;int等基本类型的用assign;对象类型的用retain。使用属性:直接用点“.”调用。(若是成员变量用->调用)@property可以帮助自动生成访问器。@synthesize 组合属性,生成相应的访问器和成员变量。@property NSString* na
2013-08-23 20:13:25 604
原创 延展类目协议
1. 类目 (Category):为已知的类添加方法可以为已知的类添加方法,哪怕是你没有源码的类通过类目添加方法会成为原始类的一部分与原类中的方法同级 而且会被子类继承类目的用处1. 可以扩展别人的类,可以作为继承的替代方式。 2. 把代码放到多个文件中;便于多人协作。注意:不能在类目中添加 成员变量可
2013-08-23 20:10:17 625
原创 NSString类
OC中字符串类型为:NSString类可以使用 length 属性获取长度用stringWithString初始化retainCount计数为-1。常用的字符串函数:获取字符串某位置的字符-characterAtIndex: -getCharacters:range:获取指定短字符串在长字
2013-08-23 20:05:20 582
原创 网络请求
网络请求方式:HTTP请求方式:GET请求:通常用于请求URL并得到资源POST请求:用于向服务器添加新的内容网络连接方式:URL连接方式:同步连接:UI“冻结”,通常用于请求的数据量小时异步连接:UI“不冻结”,适应传输数据量大(像图片)********************************************************
2013-08-23 19:58:51 539
转载 FMDB的使用
首先到这裡下载FMDB的source code,接著在解开的档案裡,把src资料夹下除了fmdb.m的档案加入到自己的iOS专案,最后在专案中加入libsqlite3.dylib这个函式库就可以了。啥?有人问為什麼不用加入fmdb.m?简单讲,这个档案是fmdb的使用说明。裡面的註解清楚,范例又简单,如果有兴趣,直接看fmdb.m,大概就会用fmdb了。以下介绍几个常用的指令,分享给大家:
2013-08-23 15:06:48 648
原创 内存管理
有“创建”,就要有“销毁” 针对创建和销毁过程进行管理管理方式:垃圾回收 (JAVA 、C#等) 手动管理 (Objective C、C)管理机制:OC采用“引用计数”(retainCount)方式管理对 象所占用的内存1. 使用 alloc 为对象分配内存;使用 dealloc 释放对象所占用 的内存。2. 使用 alloc、new或者copy构造对象时,对象的 re
2013-08-22 19:15:28 498
原创 KVC、KVO、通知
KVC: KVC(NSKeyValueCoding) “键-值-编码”是一种间接访问对象属性(用字符串表征)的机制,而不是直接通过调用设置器访问器方法或者点(.)语法去访问对象的属性。因此,对象的属性都可以以一致的方式访问。可通过字符串访问对象属性。KVC可以用来访问和设置属性的值。设置方式:[self setValue:aName forKey:@"name"]等同于 self.na
2013-08-22 19:13:26 566
原创 数据库
导入libsqlite3.0.dylib#import //创建数据库+(void) creatDataBase{ // if (dbPoint) { // return dbPoint; // } //目标路径 NSString * docPath=[NSSearchPathForDirectoriesInDomain
2013-08-22 18:07:56 584
原创 UIScrollView、UIPageControl
//创建滚动视图 scroll=[[UIScrollView alloc] initWithFrame:CGRectMake(0, 0, 320, 460)]; scroll.pagingEnabled=YES;//设置翻页效果 scroll.showsHorizontalScrollIndicator=NO;//不显示水平滚动条 scroll.delegate=s
2013-08-22 18:03:00 680
原创 UITableView
//必须要的协议 - (void)viewDidLoad{ [superviewDidLoad]; self.title=@"一窝"; //添加编辑按钮 self.navigationItem.rightBarButtonItem=self.editButtonItem;// Do any additional setup after loading
2013-08-22 17:57:59 677
原创 UISearchBar、UISearchDisplayController搜索
UISearchBar * search=[[UISearchBaralloc] initWithFrame:CGRectMake(0,0, 320,44)]; search.showsCancelButton=YES;//显示取消按钮 search.autocapitalizationType=UITextAutocorrectionTypeNo;//大小写
2013-08-22 17:53:36 1010
原创 UIRefreshControl下拉刷新
//创建下拉刷新 UIRefreshControl * refresh=[[UIRefreshControl alloc]init]; [refresh addTarget:selfaction:@selector(refreshAction:) forControlEvents:UIControlEventValueChanged]; N
2013-08-22 17:50:52 1087
原创 编译报错
编译报错:Unsupported compiler 'GCC 4.2' selected for architecture 'i386' 解决方法:改下设置Compiler for C/C++/Objective-C 这项,改为 LLVM GCC 4.2 即可
2013-08-22 13:58:57 1590
原创 UILabel的简单使用
UILabel * oper2=[[UILabelalloc] initWithFrame:CGRectMake(200,100, 30, 30)];//初始化 oper2.text=@"="; oper2.textColor=[UIColorblackColor];//字体为黑色 oper2.backgroundColor=[UIColorclearColor]
2013-08-22 10:26:41 893
转载 xcode运行到真机报错 While reading xx/BackgroundHomeScreen_5.png pngcrush caught libpng error:
转自:http://blog.csdn.net/shencaifeixia1/article/details/8976756xcode运行到真机报错[plain] view plaincopyprint?While reading /Users/yangeric/mIOS/MeiTu/MeiTu/Image/BackgroundH
2013-08-22 10:05:58 1597
原创 storyboard中tab bar controller更改item的位置问题
storyboard中tab bar controller不能改变item顺序,目前解决办法是: 先退出Xcode再打开,就可以直接拖动更改位置
2013-08-19 13:54:20 2443
原创 Xcode升级到4.4后,Jsonkit中的警告
Direct access to objective-c's isa is deprecated in favor of object_setClass() and object_getClass()object->isa 替换为 object_getClass(object)keyObject->isa 替换为 object_getClass(keyObject)(id)keys[i
2013-08-07 11:07:20 1003
iPhone开发基础教程
2013-12-09
C语言设计语言
2013-12-09
删除通话记录中的某一条数据
2013-06-17
TA创建的收藏夹 TA关注的收藏夹
TA关注的人