`
文章列表
1、创建包 所谓的包通常是一些模块的集合。在模块的接口上提供了更高层次的抽象,相当与提供了一些固定接口的函数库。下面来操作下创建一个包。 1.1、新建一个somepackage的文件夹,在其中创建index.js,内容如下: exports.hello = function() { console.log('Hello.'); }; 1.2 、在somepackage之外建立getpackage.js,内容如下: var somePackage = require('./somepackage'); somePackage.hello();  运行getpack ...
1、什么是模块 在node.js中模块和文件是一一对应的。一个node.js文件就是一个模块,这个文件可能是js代码,JSON或者编译过的c/c++扩展。 2、创建模块 //module.js var name; exports.setName = function(thyName) { name = thyName; }; exports.sayHello = function() { console.log('Hello ' + name); }; 创建一个模块非常简单,因为一个模块就是一个文件。node.js提供了exports对象,它是模块 ...
1、用node.js创建一个HTTP服务器 var http = require('http'); http.createServer(function(req, res) { res.writeHead(200, {'Content-Type': 'text/html'}); res.write('<h1>Node.js</h1>'); res.end('<p>Hello World</p>'); }).listen(3000)  listen函数创建了事件监听,使得node.js进程不会退出事件循环。 2、回调函数 ...
在objective-c中当我们向一个对象发送消息的时候,如果处理消息的方法不存在,通常都会导致程序的崩溃。但是runtime编程可以让程序继续执行。下面我们来看一段代码。 动态的为对象增加方法   void dynamicMethodIMP(id self, SEL _cmd) { printf("SEL %s did not exist\n",sel_getName(_cmd)); } + (BOOL) resolveInstanceMethod:(SEL)aSEL { if (aSEL == @selector(t)) ...
第一步: 直接import库,不需要另外添加 #import <CommonCrypto/CommonDigest.h> 第二步: SHA1- -(NSString*) sha1:(NSString*)input { const char *cstr = [input cStringUsingEncoding:NSUTF8StringEncoding]; NSData *data = [NSData dataWithBytes:cstr length:input.length]; uint8_t digest[CC_SHA ...

ios 关联

    博客分类:
  • ios7
  + (id <AFImageCache>)sharedImageCache { static AFImageCache *_af_defaultImageCache = nil; static dispatch_once_t oncePredicate; dispatch_once(&oncePredicate, ^{ _af_defaultImageCache = [[AFImageCache alloc] init]; [[NSNotificationCenter defaultCenter] ...

数据库升级

    博客分类:
  • ios7
for(int i=curDbVersion;i<[expectDbVersion intValue];i++) { NSString *selStr=[NSString stringWithFormat:@"updateDbFrom%dTo%d",i,i+1]; SEL sel=NSSelectorFromString(selStr); if (YES==[tmpSe ...
CallPrivate *p = [[CallPrivate alloc]init]; NSString *selStr = @"readMoney"; SEL selector = NSSelectorFromString(selStr); Method methond = class_getInstanceMethod([p class], selector); IMP imp = method_getImplementation(methond); void(*perform)() = (void*)imp; ...

iosAMR和WAV互相转换

    博客分类:
  • ios7
  录音设置 NSDictionary *settings = [NSDictionarydictionaryWithObjectsAndKeys: [NSNumber numberWithInt:kAudioFormatLinearPCM], AVFormatIDKey, [NSNumber numberWithInt:AVAudioQualityMin], AVEncoderAudioQualityKey, ...
一: iOS7.1时XCode为5.0.2 无法真机调试.升级XCode到5.1.     二: Xcode升级到5.1了,Apple默认让所有App都通过64位编译器编译。通过下面的3步可以关闭:  1.选中Targets—>Build Settings—>Architectures。 2.双击Architectures,选择other,删除$(ARCH_STANDARD),然后增加armv7和armv7s。 3.clean一下再编译。     三: Xcode 5.1, iOS SDK 7.1 后,TableView Cell clipsToBounds ...

Objective-c的Block

    博客分类:
  • ios7
  Block的语法不再赘述,了解一下其他的东西   1、Block的存储域 block实际上是一个OC对象,根据它的存储域不同可以将block分为三种情况,一种是存在数据区,一种是存在堆上,一种是存在栈上。在栈上的block对象,在它的作用域结束后会被立即释放,要向保存这个block对象,需要调用copy方法。在数据区的block发现不怎么常用,不再介绍。在一些情况下,我们不用显示的调用copy方法,block会自动的将block复制到堆上,例如:   block作为返回值返回。 将block复制给被__strong修饰的id类型变量或者Block类型的变量。 在cocoa框 ...

GCD - Dispatch Semaphore

    博客分类:
  • ios7
  先看代码 dispatch_queue_t queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0); NSMutableArray *array = [[NSMutableArray alloc]init]; for (int i = 0; i != 10000; ++i) { dispatch_async(queue, ^{ [array addObject:[NSNumber numb ...

GCD-dispatch_apply

    博客分类:
  • ios7
先看代码   dispatch_queue_t queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0); NSMutableArray *arry = [[NSMutableArray alloc]init]; for (int i = 0;i != 10; ++i) { [arry addObject:[NSString stringWithFormat:@"%d",i]]; } dispatch_apply(arr ...
  先看代码 dispatch_queue_t queue = dispatch_queue_create("xx", DISPATCH_QUEUE_CONCURRENT); dispatch_async(queue, ^{ NSLog(@"1"); }); dispatch_async(queue, ^{ NSLog(@"2"); }); dispatch_async(queue, ^{ NSLog(@"3&quo ...

GCD之Dispatch Group

    博客分类:
  • ios7
  首先,我们来看下面的一段代码 ARC模式下 dispatch_queue_t queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0); dispatch_group_t group = dispatch_group_create(); dispatch_group_async(group, queue, ^{ NSLog(@"block one"); }); dispatch_group_async(group, queue, ...
Global site tag (gtag.js) - Google Analytics