`
119568242
  • 浏览: 426815 次
  • 性别: Icon_minigender_1
  • 来自: 深圳/湛江
社区版块
存档分类
最新评论
文章列表

OC简写

    博客分类:
  • ios
简写      OC的语法一直被认为比较麻烦,绝大多数的消息发送都带有很长的函数名。其实这是一把双刃剑,好的方面,它使得代码相当容易阅读,因为几乎所有的方法都是以完整的英语进行描述的,而且如果遵守命名规则的话,参数类型和方法作用也一清二楚,但是不好的方面,它使得coding的时候要多不少不必要的键盘敲击,降低了开发效率。Apple意识到了这一点,在新的LLVM中引入了一系列列规则来简化OC。经过简化后,以降低部分可读性为代价,换来了开发时候稍微快速一些,可以说比较符合现在短开发周期的需要。简化后的OC代码的样子向Perl或者Python这样的快速开发语言靠近了一步,至于实际用起来好不好使, ...

[ios]NSNotification

    博客分类:
  • ios
  这是一个观察者模式。     [[NSNotificationCenterdefaultCenter]addObserver:selfselector:@selector(receive:) name:nilobject:nil]; name:监听名称为xx的信息 如nil监听所有 object:监听object为xx的信息 如nil监听所有   -(void)receive:(NSNotification*)ns{     NSLog(@"ns.name:%@",ns.name);     NSLog(@"ns.object:%@" ...

[ios]注销键盘

    博客分类:
  • ios
 [[UIApplication sharedApplication] sendAction:@selector(resignFirstResponder) to:nil from:nil forEvent:nil]; 不需要知道当前持有键盘对象做法。
Grand Central Dispatch =GDC1.有两种,顺序的serial Dispatch Queue 与 并发的Concurrent Dispatch Queue     前者是所有加入这个queue的block会顺序执行,完成一个在开始第二个。既此队列只开一个线程顺序执行。     后者是所有加入这个queue的block会并发执行,第二个的开始与第一个是否结束无关,他会选择最有解决线程创建方案,不会每个block创建一个线程(比如b1,b2,b3当要执行b3的时候,b1执行完了,此时b3会加入b1的线程而不会重新创建)。2.创建方式     dispatch_queue_t x ...
获取当前手机情况NSLocale 获取当前语言版本:    NSArray *languages = [NSLocalepreferredLanguages];   NSString *currentLanguage = [languages objectAtIndex:0];     NSLog ( @"%@" , currentLanguage);   ============================================ Chinese(zh-Hans)中文简体 English 英文 ======================= ...

[ios]多语言支持

    博客分类:
  • ios
转自:http://blog.csdn.net/songrotek/article/details/8766641   要使应用多语言化在Xcode中实现起来其实是相当容易的。对于大多数的应用,多语言化主要在于文字的多语言化,其他的诸如图形,界面的多语言化一般的应用并不会涉及。当然,这些在Xcode中都可以实现。下面主要介绍一下文字多语言化的方法。   Step 1:为应用添加多语言版本 这个很简单,在project中info下有localizations,点击+添加所需要的版本,这时会弹出对话框显示要添加语言版本的内容。 这里面包含了storyboard,infoPlis ...
关于重用 为了得到高效的View,对于cell的重用是必须的,避免了不断生成和销毁对象的操作,这与在UITableView中的情况是一致的。但值得注意的时,在UICollectionView中,不仅cell可以重用,Supplementary View和Decoration View也是可以并且应当被重用的。在iOS5中,Apple对UITableView的重用做了简化,以往要写类似这样的代码: 1 2 3 4 5 6
转自:http://o0o0o0o.iteye.com/blog/875333 tap是指轻触手势。类似鼠标操作的点击。从iOS 3.2版本开始支持完善的手势api: tap:轻触 long press:在一点上长按 pinch:两个指头捏或者放的操作 pan:手指的拖动 swipe:手指在屏幕上很快的滑动 rotation:手指反向操作 这为开发者编写手势识别操作,提供了很大的方便,想想之前用android写手势滑动的代码(编写android简单的手势切换视图示例),尤其感到幸福。 这里写一个简单的tap操作。在下面视图的蓝色视图内增加对tap的识别:   ...
转自:http://witcheryne.iteye.com/blog/1879827     注意:Reachability.h Reachability.m 下载:https://github.com/tonymillion/Reachability/tree/master [支持arc]   如果你想在iOS程序中提供一仅在wifi网络下使用(Reeder),或者在没有网络状态下提供离线模式(Evernote)。那么你会使用到Reachability来实现网络检测。   写本文的目的 了解Reachability都能做什么 检测3中网络环境 2G/3G wi ...

[ios]array深复制

    博客分类:
  • ios
转自:https://github.com/yidaizhenlong/LQRequest/issues/1 NSMutableArray array=[[NSMutableArray alloc] initWithObjects:@"a",@"b", nil]; NSMutableArray *deepCopyArray=[[NSMutableArray alloc] initWithArray: array copyItems: YES]; NSMutableArray trueDeepCopyArray = [NSKeyedUnarchive ...
在ios6 正常的tableViewCell在 ios7异常: 原因出自 正确的把自定义的view加载cell上面的方法是通过[自定义view作为contentView的子view] [cell.contentView addSubView:xx];   如果在ios6正常 ios7异常的 那么有一种可能是因为你在添加自定义的时候使用了: [self addSubView:xx];
-[UITableView dequeueReusableCellWithIdentifier:forIndexPath:] ERROR UITableViewCell *cell = (UITableViewCell *)[tableView dequeueReusableCellWithIdentifier:CellIdentifier forIndexPath:indexPath]; ? *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[UITableView ...
CGAffineTransformMake(a,b,c,d,tx,ty)    ad缩放bc旋转tx,ty位移,基础的2D矩阵   CGAffineTransformMakeRotation ex:   self.bt.transform=CGAffineTransformMakeRotation(3.14/
-(NSArray *)sectionIndexTitlesForTableView:(UITableView *)tableView{     //用于设置sectionIndexTitle     //返回要为一个内容为NSString 的NSArray 里面存放section title;     //默认情况下 section Title根据顺序对应 section 【如果不写tableView: sectionForSectionIndexTitle: atIndex:的话】     NSMutableArray* a=[NSMutableArrayarray];     ...
声明方法时:- (id)initWithImageURL:(NSString*)imageURL imageLabel:(NSString*)labelName withBlock:(void (^)(void))NNSBItemPressedBlock 其中(void (^)(void))NNSBItemPressedBlock,第一个void是返回类型,第二个void是传入参数类型 调用方法:NNSBItemPressedBlock();   声明变量时: void (^_pressedBlock)(void) ; @property void (^pressedBlock) ...
Global site tag (gtag.js) - Google Analytics