`
linwwwei
  • 浏览: 224339 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论
文章列表
OS X系统深入了解--系统文件结构篇 OS X采用的是类UNIX的多用户系统。 通常我们在启动盘下面都只能看到应用程序、资源库、系统、用户这4个目录。但其实还有很多的隐藏目录,如bin、sbin之类的,这些都是系统的一些资源,一般是不用普通用户去访问,是些比较重要的系统文件及配置文件。 所以我这里就只是探讨一下通常在Finder中可以触及的文件项目和资源。   首先我们来了解一下OS X系统的几大组成部分: 文件系统区域: 作为了一个多用户的操作系统,控制系统资源的访问对于保证系统的稳定性是非常重要的。通过目录的设置,由当前用户的操作权限来决定该用户对每部分资源的访问。 ...
ASIHTTPRequest 是一款极其强劲的 HTTP 访问开源项目。让简单的 API 完成复杂的功能,如:异步请求,队列请求,GZIP 压缩,缓存,断点续传,进度跟踪,上传文件,HTTP 认证。在新的版本中 ASIHTTPRequest 是一款极其强劲的 HTTP 访问开源项目。让简单的 API 完成复杂的功能,如:异步请求,队列请求,GZIP 压缩,缓存,断点续传,进度跟踪,上传文件,HTTP 认证。在新的版本中,还加入了 Objective-C 闭包 Block 的支持,让我们的代码加轻简灵活。 下面就举例说明它的 API 用法。 发起一个同步请求 同步意为着线程阻塞,在主 ...
NSKeyedArchiver ========================================================*/ NSString *str = @”abc”; NSString *astr = @”efg”; NSArray *Array = [NSArray arrayWithObjects:str, astr, nil]; //保存数据 NSString *Path = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) obj ...
1:和Java的Runnable一样,NSOperation也是设计用来扩展的,并且最低仅需重写一个方法。对于NSOperation这个方法是-(void)main。一个使用NSOperation的最简单方法就是将其放入NSOperationQueue中。一旦一个操作被加入队列,该队列就会启动并开始处理它。一旦该操作完成队列就会释放它。  
@interface NSDate (Helper) - (NSUInteger)daysAgo; - (NSUInteger)daysAgoAgainstMidnight; - (NSString *)stringDaysAgo; - (NSString *)stringDaysAgoAgainstMidnight:(BOOL)flag; - (NSUInteger)weekday; + (NSDate *)dateFromString:(NSString *)string; + (NSDate *)dateFromString:(NSString *)string withFo ...
#import <UIKit/UIKit.h> #import <MediaPlayer/MediaPlayer.h> @interface View24 : UIViewController { //sdk3.2以后 MPMoviePlayerViewController *_moviePlayViewController; //sdk3.2以前 MPMoviePlayerController *_moviePlayerController; } //远程视频事件 - (IBAction) playURLVideo; //本地视频事件 - (IB ...
MDB提供了用o-c封装的访问sqlite3的方法,避免了在用O-c编程中夹杂C风格的代码(不是说不能使用,而是夹杂在一块代码风格不一致)。   以下记录使用过程中的一些心得: 1创建,插入,更新和删除:使用executeUpdate方法,而查询则用executeQuery 2 插入的数据一律用oc中的对象类型:比如某列是double,插入的时候要用NSNumber对象 3 查询结果的显示:用stringForColumn,dateForColumn等等 4出错处理:[db hadError]来判断是否有错;[db lastErrorCode], [db lastErrorMe ...
Objective-C中@class和#import的问题。参考。 假设,有两个类:ClassA和ClassB,两个之间相互使用到,即构成了circular dependency(循环依赖)。如果在头文件里面只用#import把对方的头文件包含进来(构成circular inclusions,循环包含),则编译器会报错: Expected specifier-qualifier-list before ‘ClassA’ 或者 Expected specifier-qualifier-list before ‘ClassB’ 为了避免循环包含,在ClassA.h文件里面用@class ...
NSUserDefaults* defs = [NSUserDefaults standardUserDefautls]; //得到用户缺省值   NSArray* languages = [defs objectForKey:@"AppleLanguages"]; //在缺省值中找到AppleLanguages, 返回值是一个数组   NSString* preferredLang = [languages objectAtIndex:0]; //在得到的数组中的第一个项就是用户的首选语言了
CFArrayRef和NSArray是toll-free bridged的,互用都没有问题。所以可以用CFArrayRef来进行归档。如下:NSString *values[] = {@"hello", @"world"};CFArrayRef arrayRef = CFArrayCreate(kCFAllocatorDefault, (void *)values, (CFIndex)2, NULL);NSArray *array = (NSArray *)arrayRef;NSData *data = [NSKeyedArchiver archivedD ...
CLLocationCoordinate2D loc = [newLocation coordinate];  [[UIApplication sharedApplication] openURL:[NSURL URLWithString:[NSString stringWithFormat:@"http://maps.google.com/maps?saddr=%f,%f&daddr=%@",loc.latitude,loc.longitude,@"中国,湖南,长沙,具体地名"]]];
TodoViewController *contentViewController = [[TodoViewController alloc] init]; UINavigationController *navigationController = [[UINavigationController alloc] initWithRootViewController:contentViewController]; navigationController.contentSizeForViewInPopover = CGSizeMake(100, 100); //内容大小      ...
1 随机数的使用        头文件的引用        #import <time.h>        #import <mach/mach_time.h>        srandom()的使用        srandom((unsigned)(mach_absolute_time() & 0xFFFFFFFF));        直接使用 
UIScrollView的经典例子就是safari的编辑模式了  UIScrollView可以垂直,水平滚动。  如果属性pageEnabled = YES,则设置其为分页模式,那么没滚动一次就是一页,垂直方向上的一页就是UIScrollView的高度,水平方向就是其宽度。  我们可以设置contentSize,这就是UIScrollView可以滚动的最大区域了。  UIScrollView没有datasource的概念,因为这就是一个view,具体view中的内容摆放完全随意,只是每次都会滚动固定的页面大小。  比如我们有5个页面,我们需要自己计算每个页面的位置,将其水平放在UIScrollV ...
1、初始化UIPopoverController     UIPopoverController *popover = [[UIPopoverController alloc]initWithContentViewController:navigationController];    //必须是个 ViewController /*且该 ViewController的 viewDidLoad方法中要设置其在popover中的尺寸,如     self.contentSizeForViewInPopover = CGSizeMake(
Global site tag (gtag.js) - Google Analytics