block的使用

Block是一个C语言的特性,它就是C语言的函数指针,在使用中最多的就是进行函数回调或者事件传递,比如发送数据到服务器,等待服务器反馈是成功还是失败,此时block就派上用场了.

基本语法

As a local variable:

returnType (^blockName)(parameterTypes) = ^returnType(parameters) {...};

系统定位

首先导入CoreLocation.framework,然后再引入头文件#import

定义属性

@property (nonatomic , strong)CLLocationManager *locationManager;

通知iOS

发送通知 (在程序任何一个地方都可以发送通知)

- (void)getNotofocation {
    //发出通知
    [[NSNotificationCenter defaultCenter] postNotificationName:@"A类通知" object:self userInfo:nil];
}

控制器初始化方法

控制器初始化方法

viewWillAppear

视图即将可见时调用。默认情况下不执行任何操作。 Called when the view is about to made visible. Default does nothing

响应者

响应者对象(Response object)

响应者对象就是可以响应事件并对事件作出处理。在iOS中,存在UIResponder类,它定义了响应者对象的所有方法。UIApplication、UIView等类都继承了UIResponder类,UIWindow和UIKit中的控件因为继承了UIView,所以也间接继承了UIResponder类,这些类的实例都可以当作响应者

定时器用法总结

NSTimer在IOS开发中会经常用到,尤其是小型游戏,然而对于初学者时常会注意不到其中的内存释放问题,将其基本用法总结如下:

方法 1

NSInvocation *invo = [NSInvocation invocationWithMethodSignature:[[self class] instanceMethodSignatureForSelector:@selector(f)]];
[invo setTarget:self];
[invo setSelector:@selector(myLog)];
time = [NSTimer timerWithTimeInterval:1 invocation:invo repeats:YES];
[time fire];
[[NSRunLoop mainRunLoop] addTimer:time forMode:NSDefaultRunLoopMode];

Objective-C 中实现多线程

在多核 CPU 时代,由于硬件上就支持多线程技术,就可以让多个线程真正同时地运行。如果任务能够被拆分,各个子任务就能并行地在 CPU 上运行,这就能显著加快运行速度。

performSelectors

NSObject 提供了以 performSelector 为前缀的一系列方法。它们可以让用户在指定线程中,或者立即,或者延迟执行某个方法调用。