下午在测试php上传,大文件老是报undefined index. 修改了php.ini中的upload_max_filesize总是没用。
后来发现还有post_max_size这么一个属性!!!!!!!!!!!
下午在测试php上传,大文件老是报undefined index. 修改了php.ini中的upload_max_filesize总是没用。
后来发现还有post_max_size这么一个属性!!!!!!!!!!!
对于这个问题查了不少地方,有好多种解决方案,后来发现原来在iOS 4.1 之后,Apple 提供了UIKeyboardTypeDecimalPad这种键盘模式。
只要设置UITextField的keyboardType即可。
特别需要注意的是,只适合iOS 4.1之后的版本。
如果要兼容之前的版本,那么请参考:http://blog.devedup.com/index.php/2010/03/13/iphone-number-pad-with-a-decimal-point/
相信你是通过搜索引擎过来的,嘿嘿。。。
在使用ASIHttpRequest的时候,需要在Header Search Paths中添加${SDKROOT}/usr/include/libxml2。
Header Search Paths在XCode 3中很好找到,可是在XCode 4中因为菜单的改变。发现有点捉迷藏了。
那就画个示意图吧:
首先在左侧选择你的项目。
然后选择中间位置的Project 或者Targets,随便都可以。
第三步,选择 Build Settings.
第四步,把Tab Navigate中的Basic改成All
然后就可以在Search Path中找到Header Search Paths了。。。
不得不说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 用法。
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];
就可以了。
至于为什么会出现这个问题,不是很清楚=.=
下午在一台服务器上安装Mongodb的时候忘记了所使用的ubuntu server的版本号,Google了一下。
发现官方有Help:https://help.ubuntu.com/community/CheckingYourUbuntuVersion
sb_release -a
Update: Javaeye上发现了更多的方法:UBUNTU查看版本的方法
cat /etc/issue
cat /proc/version
uname -a
lsb_release -a
cat /etc/lsb-release