- 浏览: 46117 次
- 性别:
- 来自: 石家庄
最新评论
文章列表
(三)、node.js 包
- 博客分类:
- 读书笔记
1、创建包
所谓的包通常是一些模块的集合。在模块的接口上提供了更高层次的抽象,相当与提供了一些固定接口的函数库。下面来操作下创建一个包。
1.1、新建一个somepackage的文件夹,在其中创建index.js,内容如下:
exports.hello = function() {
console.log('Hello.');
};
1.2 、在somepackage之外建立getpackage.js,内容如下:
var somePackage = require('./somepackage');
somePackage.hello();
运行getpack ...
(二)、node.js 模块
- 博客分类:
- 读书笔记
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对象,它是模块 ...
(一)、node.js 初探
- 博客分类:
- 读书笔记
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 ...
+ (id <AFImageCache>)sharedImageCache {
static AFImageCache *_af_defaultImageCache = nil;
static dispatch_once_t oncePredicate;
dispatch_once(&oncePredicate, ^{
_af_defaultImageCache = [[AFImageCache alloc] init];
[[NSNotificationCenter defaultCenter] ...
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 ...
objc访问类的私有API
- 博客分类:
- ios7
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, ...