不得不说UIWebView这个控件可定制、可获取的东西真的太少了。

找了半天,没找到相关的参数可以获取title的,只能是使用JavaScript了。代码如下:

- (void)webViewDidStartLoad:(UIWebView *)webView
{
	NSString *theTitle=[webView stringByEvaluatingJavaScriptFromString:@"document.title"];
}

SDWebImage是一个可以自动管理图片加载的类库。

因为大家都知道,图片加载非常耗流量,所以在移动平台上对于图片的处理就要异常小心了。因此就必须用到本地缓存了。

而我之前写的一个小型App,因为每张图片的名字都是GUID生成的,不会被修改了。所以会每次都检查一下本地是否有这个文件名的文件存在了。这样最大限度的减小了网络流量,不需要每次都加载一次。

不过呢,SDWebImage的功能不仅仅仅限于此,功能更为强大。最基本的有一个UIImageView的category,用法很简单

[imageView setImageWithURL:[NSURL URLWithString:@"http://www.ioslib.com/ioslib.png"]];

另外呢,还有一个SDWebImageManager,使用它可以进行一些异步加载的工作,关于这部分内容 ,可以参见官方的文档:

https://github.com/rs/SDWebImage#readme

SDWebImage是托管在Github上的:http://github.com/rs/SDWebImage

cocoachina上意外发现了有非常详细的教程了,看来我没必要写下去了,呵呵

直接Copy吧 http://www.cocoachina.com/bbs/read.php?tid-51242.html

ASIHTTPRequest 是一款极其强劲的 HTTP 访问开源项目。让简单的 API 完成复杂的功能,如:异步请求,队列请求,GZIP 压缩,缓存,断点续传,进度跟踪,上传文件,HTTP 认证。在新的版本中,还加入了 Objective-C 闭包 Block 的支持,让我们的代码加轻简灵活。

下面就举例说明它的 API 用法。

Continue reading »

XXXXX nsthread autoreleased with no pool in place - just leaking

这是一个会经常发生的警告提示。

当调用

[NSThread detachNewThreadSelector:@selector(XXX) toTarget:self withObject:nil];

发起一个多线程的时候会发生这种警告,那么,加上NSAutoreleasePool就可以了,NSAutoreleasePool我的理解是一个自动的进程管理池,当然并不代表着有Java或者AS3的强大GC机制。

[NSThread detachNewThreadSelector:@selector(ooxx) toTarget:self withObject:nil];

- (void)ooxx
{
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];

//OOXX,if you like:)

[pool release];
}

关于NSAutoreleasePool可以查看Apple 的官方文档:NSAutoreleasePool Class Reference

另外,需要注意的是,在多进程中要操作主进程的UI是不可以直接操作的,一定要使用:performSelectorOnMainThread

 

刚刚的确郁闷到了,UIViewController 的 presentModalViewController 愣是无效。

找了一圈,找到了一个类似的 ModalViewController not showing on simulator

原来出现这个问题的原因是我在viewDidLoad方法中执行了presentModalViewController.

如果由按钮触发就不会出现这个问题了。

那么,很简单了,使用

[self performSelector:@selector(modalForToken) withObject:nil afterDelay:0.1];

就可以了。

至于为什么会出现这个问题,不是很清楚=.=

前几天介绍了一下ASIHttpRequest  是神马东东。

今天再来说说,这玩意儿要怎么在项目中使用。

一、从Github(http://github.com/pokeb/asi-http-request/tree)下,把压缩包下过来。然后解压。

二、把Classes里的文件,拖到XCode中,还有把External/Reachbility也拖进去,这是Apple 官方用来检查网络链接是否正常的类库

三、再导入几个框架包。分别是SystemConfiguration.framework, MobileCoreServices.framework, CoreGraphics.framework,CFNetwork.frameworklibz.1.2.3.dylib

四、另外,还要把在头文件搜索路径中加入 libxml2的路径

 

至此,已经可以再项目中使用 ASIHttpRequest了。

ASIHttpRequest 真的是个objective-c上一个非常不错的网络连接(CFNetwork API)封装库。在几个小型的练手App上用下来,很爽!

ASIHttpRequest 封装了很多的复杂逻辑,让开发者不必纠结于某些具体细节,而注重于业务逻辑处理上。ASIHttpRequest可以被用于Mac OS X 和iOS程序项目中。

ASIHttpRequest 的官网是:http://allseeing-i.com/ASIHTTPRequest/

项目托管在Github 上:http://github.com/pokeb/asi-http-request/tree

基于BSD 开源协议。

iOS开发神马的还是挺有意思的,虽然奇奇怪怪的问题也不少。

好吧,今天做个弱智的记录吧。

如果获取一个对象的类名。

 


[NSString stringWithUTF8String:object_getClassName(obj)];

 

为了与线上的Ubuntu Server环境同步(主要是不想写两套配置文件,特别是URLRewrite规则= =‘)
准备在mac下安装个nginx + php
不是啥高深技术,纯属记录而已。
安装macports不多赘言。。。
首先安装nginx+php+cgi+spawn-fcgi
sudo port install nginx fcgi spawn-fcgi
sudo port install php5 +fastcgi
然后运行
sudo nginx
sudo spawn-fcgi -a 127.0.0.1 -p 9000 -u nobody -f /opt/local/bin/php-cgi
哈哈,很简单吧。要安装 其他扩展,比如imagick神马的自行安装吧

© 2012 达达's Blog Suffusion theme by Sayontan Sinha