05 2013 档案
摘要:常规办法:- (CGFloat)tableView:(UITableView *)tableViewheightForRowAtIndexPath:(NSIndexPath *)indexPath{ if(0 == [indexPath row]) { return 10; } if(1 == [indexPath row]) { return 30; }}然后:- (CGFloat)tableView:(UITableView *)tableViewheightForRowAtIndexPath:(NSIndexPath *)indexPath{ ...
阅读全文
摘要:componentsSeparatedByString:NSMutableArray *components = [messageStr componentsSeparatedByString:@"*"] ;反过来为NSStrig *str = [components componentsJoinedByString:@"*"];
阅读全文
摘要:-(id)dequeueReusableCellWithIdentifier:(NSString*)identifier;-(id)dequeueReusableCellWithIdentifier:(NSString*)identifierforIndexPath:(NSIndexPath*)indexPathNS_AVAILABLE_IOS(6_0);//newer第一个:-(id)dequeueReusableCellWithIdentifier:(NSString*)identifier;在初始化时候用:staticNSString*CellIdentifier=@"Cell
阅读全文
摘要:UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(0,0,0,0)]; //设置自动行数与字符换行,为0标示无限制 [label setNumberOfLines:0]; label.lineBreakMode = NSLineBreakByWordWrapping;//换行方式 NSString *strTest = @"用中问和英文 混合测试! just test, good luck!! 看看行不行"; UIFont *font = [UIFont fontWithName:@"Ari...
阅读全文
摘要:http://www.sourcegear.com/diffmerge/index.html听说是免费的,没用过
阅读全文
摘要:把工程build setting 中的Treat Warnings as Errors设置为YES。这是个十分好的设置,所以,以后的项目中都应该用这个设置项
阅读全文
摘要:在关闭ARC情况下对NSMutableArray存储内存分析。一:测试环境构建1:创建一个简单视窗工程 在AppDelegate.m- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions{ self.window = [[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]] autorelease]; // Override point for cus...
阅读全文
摘要:窗口大小获取: CGRect screenBounds = [ [UIScreenmainScreen]bounds];//返回的是带有状态栏的RectCGRect rect = [ [UIScreenmainScreen]applicationFrame];//不包含状态栏的RectUIImageView:一 :圆角以及自适应图片大小 UIImage* image = [UIImage imageNamed:@"image.png"]; UIImageView* imageView = [[[UIImageView alloc] initWithImage:image]
阅读全文
摘要:NSString *homePath = NSHomeDirectory();NSString *filePath = [homePath stringByAppendingPathComponent:@"array.archiver"];NSMutableData *mutableData = [NSMutableData data];NSKeyedArchiver *archive = [[NSKeyedArchiver alloc] initForWritingWithMutableData:mutableData];[archive encodeObject:@&q
阅读全文
摘要:UIDatePicker 时间选择器NSDate *currentTime = [NSDate date]; datePicker = [[UIDatePicker alloc] initWithFrame:CGRectMake(0, 100, 320, 216)]; // [datePicker setTimeZone:[NSTimeZone defaultTimeZone]]; // [datePicker setTimeZone:[NSTimeZone timeZoneWithName:@"GMT+8"]]; // 设置当前显示 [datePi...
阅读全文
摘要:UIActivityIndicatorView活动指示器 是继承自UIView,所以嘛。。。不多说什么了!你懂的。一 创建 : 不多说..二:属性风格UIActivityIndicatorViewStyleWhiteLarge 大型白色指示器;UIActivityIndicatorViewStyleWhite 标准尺寸白色指示器 ;UIActivityIndicatorViewStyleGray 灰色指示器,用于白色背景 三hidesWhenStoped 停止动画后是否自动隐藏,默认为YES.四 开启动画:startAnimating ; 停止动画stopAnimating五:网络活动指示器当
阅读全文
摘要:建个空的iOS工程- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions{ self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; // Override point for customization after application launch. self.window.backgroundColor = [...
阅读全文
摘要:- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions{ self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; //初始化 tabBarItem对应的ViewController UIViewController *viewCtrl1 = [[UIViewController alloc] init]; v...
阅读全文
摘要:新建一个简单视图iOS工程,在ViewController的viewDidLoad中代码如下- (void)viewDidLoad{ [super viewDidLoad]; // Do any additional setup after loading the view, typically from a nib. tabBarCtrl = [[UITabBarController alloc] init];//要加入的TabBarController tabBarCtrl.delegate = self; // firstViewCtl = [[UIV...
阅读全文
摘要:floatsystemVersion = [[[UIDevice currentDevice] systemVersion] floatValue];//iOS SystemVersion[[UIDevice currentDevice] name]); // Name of the phone as named by user[[UIDevice currentDevice] uniqueIdentifier]); // iOS5.0 及其以后这个方法已经被禁止使用。再继续使用的后果是“审核不通过”[[UIDevice currentDevice] systemName]); // &quo
阅读全文
摘要:文章来源:http://blog.csdn.net/nogodoss/article/details/7395802 /* 设置圆角,通过layer中的cornerRadius和masksToBounds即可。 自适应图片宽高比例。通过UIViewContentModeScaleAspectFit设置,注意这个UIImageView的frame就不是init中的数据了。 同样的UIImage图片放入不同frame中的UIImageView就可以实现比例缩放了。只是UIImageView的大小改变了, */ UIImage* i...
阅读全文
摘要:在iOS5.0及其以后,Apple公司提供了一个十分完善的UITabelView异步加载网络图片SDK代码,具体介绍参考:http://developer.apple.com/library/ios/#samplecode/LazyTableImages/Introduction/Intro.htmlApple官方文档,其好处。。。。。。各种好处!
阅读全文
摘要:1 UITableViewController 包含了UITabelView. UITableViewController需要实现两个 delegate ,分别是 UITableViewDelegate 和 UITableViewDataSource.2UITableView对象的 delegate要设置为UITableViewController对象.UITableViewDelegate方法介//Sections 个数- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView { return 2; ...
阅读全文
摘要:strong与weak是由ARC新引入的对象变量属性。weak 和 strong 属性只有在你打开ARC时才会被要求使用。@strong 和@retain相近@weak和@assign相近,不过@weak在释放后多做了赋值为nil操作,这种好处是防止野指针捣乱,其好处,用过的人都知道。@copy此属性只对那些实行了NSCopying协议的对象类型有效。如同深拷贝的意思,开辟出新的内存空间,复制内容进内存 中,这样有两份对象,然后各不相干。@retain 引用计数加1,让指针指向已有的内存地址,这样,retain出来的指针指向的地址和原地址相同,提高了引用计数,实际内存地址中只有一份数据。采用引
阅读全文
摘要:当使用Xcode编写C++代码时,难以避免要使用xcode/C++混合编译。 如果你在Xcode中编写的工程中既有Objective-C代码,又有C++代码,在没有任何设置编译器选项的默认情况下,你将会发现一下问题:(1)编译器报错。莫名其妙的错误,如C++的关键字(如virtual, new, delete等)找不到,不能解析啊等问题(2)以*.cpp结尾的纯C++代码编译没有问题,但是既有Objective-c又有C++的文件(*.mm)文件就会报各种问题在Xcode中,通常,Objective-c的后缀名位 .h/.m,C语言的后缀名为 .h/.c, C++的后缀名为.h/.cpp, 当
阅读全文
摘要:注册观察者:[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(execute:) name:@"NotificationName" object:nil];观察者 self 在收到名为 @"NOTIFICATION_NAME"的事件是执行 @sele...
阅读全文
摘要:Linus为Linux Kernel Project发起的版本控制项目。HEAD代表当前最新状态。tag为某个状态的标签。SHA1为每个提交日志的唯一标识。install:apt-get install git-coregit clone:git仓库可以使用git clone获得:git clone git://url也可以通过浏览器浏览。http://url/gitweb/通过git pull更新仓库,使用git init-db初始化自己的仓库。config:开发人员需要为git仓库配置相关信息,这样在提交代码时,这些信息会自动反映在git仓库的日志中。git config user.nam
阅读全文
摘要:ASIHTTPRequest有很长时间停止了更新,对iOS5的支持不给力哦,所以以后就不用这个SDK了。官方地址:http://allseeing-i.com/ASIHTTPRequest/AFNetworking有稳定的两个主要负责人、能支持比较新的特性、一直有更新。但功能方面还不够完整。git地址:https://github.com/AFNetworking/AFNetworkingMKNetworkKit 支持ARC、一个印度阿三写的。有 ASIHTTPRequest的功能,AFNetWorking的轻便。看到这个SDK包的名字我就想起了山丘之王(MK),不知道作者是否是喜欢山丘之王。
阅读全文
摘要:iOS 5.0版本之后加入了ARC机制,但由于相互引用关系比较复杂时,内存泄露还是可能存在。所以了解原理很重要。这里讲述在没有ARC的情况下,如何使用Instruments来查找程序中的内存泄露,以及NSZombieEnabled设置的使用。本文假设你已经比较熟悉Obj-C的内存管理机制。实验的开发环境:XCode 4.5.21、运行Demo。先下载一个实现准备好的内存泄露的Demo吧:leak app下载下来,打开运行,程序是一个寿司的列表,列出各种寿司卷。试着选择里面的几行,应该是选第二行的时候就崩溃了。崩溃截图:在崩溃的地方断住了,知道crash的地方了,但是不知道具体crash的原因。
阅读全文
摘要:从Git库下载https://github.com/tonymillion/Reachability把两个文件Reachability.h 和Reachability.m文件添加到工程中。添加框架支持SystemConfiguration.framework添加头文件声明:@class Reachability;@interface AppDelegate : UIResponder <UIApplicationDelegate>{ UINavigationController *_navigationController; Reachability *hostReach;}@p.
阅读全文
摘要:关于Json解析用的工具,苹果公司提供了原生的解析框架NSJSONSerialization, 该原生框架的速度是最快的。但有个缺陷是不支持iOS5.0一下版本,所以还是选用第三方框架,第三方框架有很多,具体的选择用的是JsonKit.因为它速度很快也很好用,关于它和其他的解析工具的对比就不做介绍,目前为止是最好的第三方Json解析工具。下载JsonKit文件https://github.com/johnezang/JSONKit直接把两个文件JsonKit.h JsonKit.m拖到工程中。好了,可以使用了。如果你遇见报告JsonKit.m文件中的方法找不到比如:NSDictionary*d
阅读全文
摘要:%@ 对象%d, %i 整数%u 无符整形%f 浮点/双字%x, %X 二进制整数%o 八进制整数%zu size_t%p 指针%e 浮点/双字 (科学计算)%g 浮点/双字 %s C 字符串%.*s Pascal字符串%c 字符%C unichar%lld 64位长整数(long long)%llu 无符64位长整数%Lf 64位双字调试输出__FILE__ __FUNCTION____LINE__
阅读全文
浙公网安备 33010602011771号