摘要: iPhone 开发过程中,内存的使用至关重要。不但要合理分配使用内存,还要注意内存泄露的问题, 因为内存泄露会导致程序由于内存不足而崩溃。根据个人开发的经验来看,在开发iPhone程序的过程中,关于内存的问题需要注意以下几点:内存分配、释放成对出现使用 alloc 分配的内存对象需要在用完后 调用release释放注意copy,retain,assign操作符的区别copy, retain操作符赋值的对象和alloc一样,需要release释放,否则会导致内存泄露assign 操作符的含义是将对象指向另一对象, 两者指向的是同一内存对象,无需调用release释放NSArray, NSDict 阅读全文
posted @ 2012-11-18 23:02 JackyYang7 阅读(204) 评论(0) 推荐(0)
摘要: 一、简单的get请求网络编程是我们经常遇到的,在IPhone中,SDK提供了良好的接口,主要使用的类有NSURL,NSMutableURLRequest,NSURLConnection等等。一般情况下建议使用异步接收数据的方式来请求网络连接,这种网络连接分为两步,第一步是新建NSURLConnection对象后,直接调用它的start方法来连接网络。第二步是使用delegate方式来接收数据,这里给一个常用的写法:网络请求部分:NSString *urlString = [NSString stringWithFormat:@"http://www.voland.com.cn:808 阅读全文
posted @ 2012-11-18 23:02 JackyYang7 阅读(281) 评论(0) 推荐(0)
摘要: ARC是什么ARC是iOS 5推出的新功能,全称叫 ARC(Automatic Reference Counting)。简单地说,就是代码中自动加入了retain/release,原先需要手动添加的用来处理内存管理的引用计数的代码可以自动地由编译器完成了。该机能在 iOS 5/ Mac OS X 10.7 开始导入,利用 Xcode4.2 可以使用该机能。简单地理解ARC,就是通过指定的语法,让编译器(LLVM 3.0)在编译代码时,自动生成实例的引用计数管理部分代码。有一点,ARC并不是GC,它只是一种代码静态分析(Static Analyzer)工具。变化点通过一小段代码,我们看看使用AR 阅读全文
posted @ 2012-11-18 23:01 JackyYang7 阅读(1370) 评论(0) 推荐(0)
摘要: 代码下载地址:UICustomSwitch.rariPhone SDK中的Switch控件默认的文本为 ON OFF两种,不同的语言显示不同, 颜色均为蓝色和亮灰色,如图如果想改变ON,OFF文本,我们必须重从UISwitch继承一个新类, 然后在新的Switch类中修改替换原有的Views, 申明代码如下UICustomSwitch.h//// UICustomSwitch.h// UICatalog//// Created by aish on 09-2-25.// Copyright 2009 .. All rights reserved.//#import <UIKit/UIKi 阅读全文
posted @ 2012-11-18 23:01 JackyYang7 阅读(620) 评论(0) 推荐(0)
摘要: 代码下载地址:objective-c-memman.zip此文章是作者Vince Yuan的一篇力作,写的很不错.对iphone内存不熟悉的朋友看过来.版本1.1发表于2010-03-08前言初学objectice-C的朋友都有一个困惑,总觉得对objective-C的内存管理机制琢磨不透,程序经常内存泄漏或莫名其妙的崩溃。我在这里总结了自己对objective-C内存管理机制的研究成果和经验,写了这么一个由浅入深的教程。希望对大家有所帮助,也欢迎大家一起探讨。此文涉及的内存管理是针对于继承于NSObject的Class。一基本原理Objective-C的内存管理机制与.Net/Java那种全 阅读全文
posted @ 2012-11-18 23:00 JackyYang7 阅读(174) 评论(0) 推荐(0)
摘要: UITextField是我们经常用的之一但是常用的属性都很熟悉,有些不常用的我也总结下,例如下面的:UIImageView * myView = [[ UIImageView alloc]initWithImage:[UIImage imageNamed:@"face.png"]];UIImageView * myView2 = [[ UIImageView alloc]initWithImage:[UIImage imageNamed:@"face.png"]];UITextField *myTextField=[[UITextField alloc] 阅读全文
posted @ 2012-11-18 22:59 JackyYang7 阅读(165) 评论(0) 推荐(0)
摘要: NSDate是NS类库中基础类型之一。随着数字化发展,程序对数据处理量越来越大,我们经常从服务器取得的日期是字符串序列,格式化为正确的date类型是一个不可避免的工作。在Cocoa程序里提供了非常方便的函数和类,但是仍然需要我们了解一些技巧。尤其是当我们的程序面对大量的日期字符串转换的时候,要格外的注意。苹果文档中使用NSDateFormatter类格式化日期字符串,但是以防读者不知道,我这里提一下:它的速度非常慢!!这篇文章介绍如何处理这种情况。- (NSDate *)dateFromString:(NSString *)string {//Wed Mar 14 16:40:08 +0800 阅读全文
posted @ 2012-11-18 22:59 JackyYang7 阅读(287) 评论(0) 推荐(0)
摘要: HockeyKit是一个用于iOS和Android下的app更新的开发包,作者是Thomas Dohmke,主页是:http://hockeykit.net/简述:Hockey 是一个iOS Ad-Hoc 自动更新框架。所有的苹果店中的app都可以使用它,它能显著提高整个beta测试过程。它分为两部分:服务器和客户端框架。服务端组件总是必需的,它不需要客户端库就能单独工作。它提供了一个web界面给beta测试者通过iPhoneSafari去安装最新的AdHoc激活文档及最新的beta测试版本。只需在服务器上安装一次服务端,就可以处理bundle identifier不同的多个应用程序(我强烈建 阅读全文
posted @ 2012-11-18 22:58 JackyYang7 阅读(676) 评论(0) 推荐(0)
摘要: 最近在用happe解析html中的图片。有个翻页操作,如果请求的html中没有需要解析的标记的话会造成xmllib2的内存泄露。这一个是happ的一个bug吧。修改方法:修改 XPathQuery.m 类中的NSArray *PerformXPathQuery(xmlDocPtr doc, NSString *query){xmlXPathContextPtr xpathCtx;xmlXPathObjectPtr xpathObj;/* Create xpath evaluation context */xpathCtx = xmlXPathNewContext(doc);if(xpathCt 阅读全文
posted @ 2012-11-18 22:57 JackyYang7 阅读(194) 评论(0) 推荐(0)
摘要: 代码下载地址:201207162220045782.zip使用Objective-C解析HTML或者XML,系统自带有两种方式一个是通过libxml,一个是通过NSXMLParser。不过这两种方式都需要自己写很多编码来处理抓取下来的内容,而且不是很直观。有一个比较好的类库hpple,它是一个轻量级的包装框架,可以很好的解决这个问题。它是用XPath来定位和解析HTML或者XML。安装步骤:-加入 libxml2 到你的项目中 Menu Project->Edit Project Settings 搜索“Header Search Paths”添加新的 search path “${SD 阅读全文
posted @ 2012-11-18 22:57 JackyYang7 阅读(201) 评论(0) 推荐(0)
摘要: 总结了一些开源的IOS项目,与大家分享。扫描wifi信息:http://code.google.com/p/uwecaugmentedrealityproject/http://code.google.com/p/iphone-wireless/条形码扫描:http://zbar.sourceforge.net/iphone/sdkdoc/install.htmltcp/ip的通讯协议:http://code.google.com/p/cocoaasyncsocket/voip/sip:http://code.google.com/p/siphon/http://code.google.com 阅读全文
posted @ 2012-11-18 22:52 JackyYang7 阅读(205) 评论(0) 推荐(0)
摘要: 代码下载地址:201207162237173664.zip大概你第一眼看来,动态调整高度是一件不容易的事情,而且打算解决它的第一个想法往往是不正确的。在这篇文章中我将展示如何使图表单元格的高度能根据里面文本内容来动态改变,同时又不必子类化UITableViewCell。你当然可以通过子类化它来实现,但是这样做会使得代码复杂因为设置高度是在图表本身的实例上而不是对单元格操作。下面你将会看到这其实是一件轻而易举的事情。对于图表来说能够动态调整高度是件很有意义的事情,我首先想到的需要这个功能的是当显示一列长度会变化的文本列表时,如果文本内容较少,它或许能够适合正常的单元格label,但是如果文本变长 阅读全文
posted @ 2012-11-18 22:52 JackyYang7 阅读(294) 评论(0) 推荐(0)
摘要: 代码下载地址:201207170853252862.zip今天就讲下UIScrollView的一些事情,这个可以拖动的组件无论在应用还是游戏开发都会经常用到,所以我们就一定要更加熟悉它了。下面我们开始下手咯。(1)初始化一般的组件初始化都可以alloc和init来初始化,上一段代码初始化。UIScrollView *sv = [[UIScrollView alloc] initWithFrame:CGRectMake(0.0, 0.0, self.view.frame.size.width, 400)];一般的初始化也都有很多方法,都可以确定组件的Frame,或者一些属性,比如UIButton 阅读全文
posted @ 2012-11-18 22:51 JackyYang7 阅读(203) 评论(0) 推荐(0)
摘要: 代码下载地址:201207170954152133.zip项目中需要获取本机IP并发送到服务器,之前在网上找了一段代码获取ip,模拟器运行正常,但在真机上得到的却是一段乱七八糟的字符串。又在网上找的一段代码,It works:#define MAXADDRS 32extern char *if_names[MAXADDRS];extern char *ip_names[MAXADDRS];extern char *hw_addrs[MAXADDRS];extern unsigned long ip_addrs[MAXADDRS];// Function prototypesvoid InitA 阅读全文
posted @ 2012-11-18 22:50 JackyYang7 阅读(273) 评论(0) 推荐(0)
摘要: 这篇介绍几种变量类型的区别和注意点,虽然简单.但比较实用.1、当需要使用int类型的变量的时候,可以像写C的程序一样,用int,也可以用NSInteger,但更推荐使用NSInteger,因为这样就不用考虑设备是32位的还是64位的。2、NSUInteger是无符号的,即没有负数,NSInteger是有符号的。3、有人说既然都有了NSInteger等这些基础类型了为什么还要有NSNumber?它们的功能当然是不同的。NSInteger是基础类型,但是NSNumber是一个类。如果想要存储一个数值,直接用NSInteger是不行的,比如在一个Array里面这样用:NSArray *array= 阅读全文
posted @ 2012-11-18 22:50 JackyYang7 阅读(1226) 评论(0) 推荐(0)
摘要: 相信很多人买来iPhone第一件事就是为它贴膜、买保护套吧。在街边小摊买的手机贴膜,到了消费者手上少则七八十元,多则一二百元,但成本不足1块钱,是不是让你觉得差价太大,利润太多呢?有没有想过自己来贴膜?自己动手丰衣足食,让我们动手来为iPhone贴膜吧!来看看小编为贴膜准备的工具吧:膜(其中附带无尘布)大卷的封箱胶带公交卡(用来挤压气排出空气,或者其他卡片也可以)剪刀或者戒刀(用来剪胶带)Step 1:首先使用贴膜中附带的无尘布(有眼睛布或者专用屏幕擦拭布最好不过了)清理好屏幕上面的灰尘、油渍等等脏东西,记得也要在一个尽量少灰尘的环境下进行贴膜。然后用车卡在贴膜时候慢慢的一点点挤压出可能存在的 阅读全文
posted @ 2012-11-18 22:49 JackyYang7 阅读(600) 评论(0) 推荐(0)
摘要: 代码下载地址:201207171710488122.zip正则表达式功能强大,使用广泛,相信折腾代码的童鞋都深有体会。大多数语言都有正则表达式的内置函数库,但iOS的SDK却不支持,只能使用第三方类库RegexKitLite,一个非常不错的Objective-C语言的正则类,是NSString的category,调用灰常方便。一、到http://regexkit.sourceforge.net/下载RegexKitLite类,添加到项目中;二、在项目的framework中添加libicucore.dylib;三、调用正则:if ([aString isMatchedByRegex:@" 阅读全文
posted @ 2012-11-18 22:49 JackyYang7 阅读(290) 评论(0) 推荐(0)
摘要: 源码下载地址:201207211128467512.rar在android中我曾经利用zxing做过条形码扫描功能,现在又找到了一个iphone下免费开源的条形码扫描的sdk,下面介绍一下这个sdk的使用.免费的条形码是zbar,其使用地址是:http://zbar.sourceforge.net/iphone/sdkdoc/install.html下面是实现的效果:利用条形码,可以简单的得到二维码的值.具体的实现过程如下:首先下载zbr的sdk。然后,创建工程,iphone.scanbar。第三,把下载的ZBarSDK添加到工程中。第四,然后添加.framework到工程中。第五,然后添加一 阅读全文
posted @ 2012-11-18 22:48 JackyYang7 阅读(1547) 评论(0) 推荐(0)
摘要: 有时候需要动态缩小图片,这样你可以用UIImage来缩小图片,代码如下:@implementation UIImage (Extras)#pragma mark -#pragma mark Scale and crop image- (UIImage*)imageByScalingAndCroppingForSize:(CGSize)targetSize{UIImage *sourceImage = self;UIImage *newImage = nil;CGSize imageSize = sourceImage.size;CGFloat width = imageSize.width;C 阅读全文
posted @ 2012-11-18 22:47 JackyYang7 阅读(192) 评论(0) 推荐(0)
摘要: 代码下载地址:201207302119082861.rar在IPhone SDK开发范例大全中,有很多的范例码下面这段范例码,示范了两张图片的交换,以及放大缩小的动画动画效果请参照下图#import <UIKit/UIKit.h>#define IMAGE_VIEW_1 100#define IMAGE_VIEW_2 101#define BIGRECT CGRectMake(0.0f, 0.0f, 320.0f, 435.0f)#define SMALLRECT CGRectMake(130.0f, 187.0f, 60.0f, 60.0f)@interface ToggleVi 阅读全文
posted @ 2012-11-18 22:47 JackyYang7 阅读(422) 评论(0) 推荐(0)