2016年3月21日

动态计算Label高度

摘要: //1.设置该label的numberOfLines为0 self.titleLabel.numberOfLines = 0; //2.字体的设置要与之前相同 NSDictionary * attribute = @{NSFontAttributeName:[UIFont systemFontOfS 阅读全文

posted @ 2016-03-21 11:19 sea_star3 阅读(223) 评论(0) 推荐(0) 编辑

转场动画

摘要: UIView* fromView = (self.header2== button)?self.header2:self.header1; UIView * toView = (self.header1 == button)?self.header2 : self.header1; //fromVi 阅读全文

posted @ 2016-03-21 11:16 sea_star3 阅读(128) 评论(0) 推荐(0) 编辑

数据库

摘要: Plist(NSArray\NSDictionary) 只能存储字典数组等数据类型 Preference(偏好设置\NSUserDefaults)同上 NSCoding(NSKeyedArchiver\NSkeyedUnarchiver)可以存储对象数据类型 SQLite3 轻量级数据库 嵌入式移动 阅读全文

posted @ 2016-03-21 11:14 sea_star3 阅读(432) 评论(0) 推荐(0) 编辑

MRC下多个对象的内存管理

摘要: //set方法传递进来对象的生命周期,要求是在当前对象销毁之前,它一直存在就好- (void)setCar:(Car *)car{ //1.判断set方法传递进来的值是否与成员变量中保存的是同一个对象 if(_car != car){ [_car release];//2.releas 旧值 _ca 阅读全文

posted @ 2016-03-21 11:12 sea_star3 阅读(130) 评论(0) 推荐(0) 编辑

myIsEqualToString

摘要: BOOL myisEqualToString(NSString * str1 , NSString * str2){ //1.如果两个字符串,指针地址相等,就说明一定是相等 if(str1 == str2) return YES; //2.如果长度不想等,一定是不想等的 if(str1.length 阅读全文

posted @ 2016-03-21 11:11 sea_star3 阅读(181) 评论(0) 推荐(0) 编辑

self&super

摘要: http://chun.tips self是类的隐藏参数,指向当前调用方法的这个类的实例。super是一个编译器标识符,和self指向同一个消息接受者。所以不管调用[self class]还是[super class],接收小小的对象都是当前Son *son这个对象。不同的是,super会告诉编译器 阅读全文

posted @ 2016-03-21 11:10 sea_star3 阅读(98) 评论(0) 推荐(0) 编辑

class&meta class

摘要: http://chun.tips 当我们发送一个消息给一个NSObject对象时,这条消息会在对象的类的方法列表里查找当我们发送一个消息给一个类时,这条消息会在类的Meta Class的方法列表里查找 而 Meta Class本身也是一个Class,它跟其他Class一样也有自己的 isa 和 su 阅读全文

posted @ 2016-03-21 11:09 sea_star3 阅读(123) 评论(0) 推荐(0) 编辑

runtime学习笔记

摘要: 获取属性objc_property_t * propertys = class_copyPropertyList(clazz, &outCount); 获取属性名NSString * key = [NSString stringWithCString:property_getName(propert 阅读全文

posted @ 2016-03-21 11:08 sea_star3 阅读(99) 评论(0) 推荐(0) 编辑

类簇

摘要: 类簇的实质就是一个抽象工厂,不要继承一个类簇类 id someClass = [NSString alloc]; // 返回的对象类型:NSPlaceholderStringNSString *string1 = [[NSString alloc] init]; // 返回的对象类型:__NSCFC 阅读全文

posted @ 2016-03-21 11:06 sea_star3 阅读(111) 评论(0) 推荐(0) 编辑

自定义tabbar

摘要: 当tabBar不能满足需求时(如需要在其中间添加一个不规则的加号按钮) 通过KVC更换系统的tabBar [self setValue:[[YQTabBar alloc] init] forKeyPath:@"tabBar"]; 并更改内部按钮的frame - layoutSubviews 遍历子视 阅读全文

posted @ 2016-03-21 11:05 sea_star3 阅读(78) 评论(0) 推荐(0) 编辑

自定义button

摘要: 改变button内部label和imageView的frame 这两个方法在初始化的时候就会调用,此时button自身可能还没有frame,所以可以使用 在layoutSubviews中设置其内部控件的frame 阅读全文

posted @ 2016-03-21 11:04 sea_star3 阅读(103) 评论(0) 推荐(0) 编辑

延时操作

摘要: 1.NSObject方法performSelector:withObject:afterDelay: 2.NSTimer方法 3.GCD 阅读全文

posted @ 2016-03-21 11:02 sea_star3 阅读(272) 评论(0) 推荐(0) 编辑

多线程(pthread、NSThread、GCD)

摘要: pthread C语言编写 跨平台可移植 线程生命周期需要我们来管理 使用困难 NSThread 面向对象的 可直接操作线程对象 线程生命周期需要我们来管理 使用简单 资源互斥(@synchronized(self)加锁,必须是同一把锁) GCD 为了利用多核并行提出的方案同步 不具备开启线程的能力 阅读全文

posted @ 2016-03-21 10:59 sea_star3 阅读(426) 评论(0) 推荐(0) 编辑

导航