Iphone开发知识
Pages: 1/1 First page 1 Final page [ View by Articles | List ]
Aug 21
前提修改文档声明,如有疑问,请看文章手机web2.0网页文档属性
Jan 7
利用 Monitor.TryEnter 来规避 .NET 线程死锁
在开发多线程的应用程序时,我们会大量用到 lock (...) {} 块。如果 lock 的对象比较多,非常容易发生死锁。死锁的发生很难预料,而且一旦发生在界面线程上,界面就不再刷新响和应用户输入;如果发生在后台线程,后台线程也就阻塞不工作了,死锁必然会导致应用程序不可用。在.NET里发生死锁的原因是什么?

以 C# 为例,通常 lock 语句是被转化为对一个资源的无限长时间的等待,所以一旦资源被占用而又永不释放,那么必然死锁。

那么如何规避的危害呢?应用程序应该避免 lock(obj) 块,推荐使用 Monitor.TryEnter(obj, millisecondsTimeout) 代替,二者的第一个参数意义相同,而后者还可以设置等待超时时间,一旦在限定的时间内无法获得锁,那么 TryEnter 就会返回  false。这样就不会造成死锁,无法获得资源,业务程序可以采取重试或抛异常的方式进行善后处理。

Monitor.TryEnter 和 Monitor.Exit 必须成对出现,为了简化代码,可以用一个实现IDisposeable的类来封装这个过程:

调用例子:

这样在代码离开 using 块后,会自动执行 Monitor.Exit释放锁。
Nov 14
Highslide JS
http://apps.hi.baidu.com/share/detail/21333512
很多朋友希望在体验或学习iphone开发,但是iphone开发环境一般需要 安装在mac计算机下mac os中。
这给许多朋友带来了额外成本投入。
网上已经有各种破解方法,在非苹果电脑上安装iphone开发环境,给我们带来了佳音。但是各种版本比较杂乱,可能会费时费力而无果。
最近,苹果推出了新的开发环境版本。我将新版开发环境在Windows XP下VMWare虚拟机中安装开发环境过程贴出来,让大家分享。
本文在Windows Xp + VMware Workstation 7.0 + MAC OS X Snow Leopard 10.6 环境下安装iPhone SDK 3.1.2成功!
--------------------------------------
在PC机上安装MAC OS X系统有两种方法:
方法一:在硬盘上分区,专门安装MAC OS X;
方法二:在现有Windows系统中,使用VMWare等虚拟机软件安装Mac OS。
注意:一般都需要将苹果系统的DMG光盘镜像文件刻录到D9光盘上,这个步骤比较麻烦。
本文介绍一下在Windows XP中使用VMWare虚拟机,安装MAC OS X时,无需刻录D9光盘,无需转换成ISO格式,
直接使用MAC OS X和iPhone SDK的DMG镜像文件进行安装的方法。
--------------------------------------
安装条件:
硬件:一台拥有支持虚拟技术的64位双核处理器和2GB以上内存的PC。
本人采用笔记本:DELL D630 4G内存
注意:运行MAC OS,需要电脑支持虚拟技术(VT),安装时,需要将VT启动,在BIOS中开启。
软件:
Windows XP:
VMware :VMware-workstation-7.0.0-203739 EXE安装文件
Mac OS:Mac_OS_10.6_Snow_Leopard_10.6 DMG光盘镜像文件
iPhone SDK:iphone_sdk_3.1.2_with_xcode_3.2.1 DMG光盘镜像文件
Darwin.iso或Rebel EFI.iso 引导光盘ISO镜像文件
--------------------------------------
1.下载安装包
1.1.下载VMWare 7.0:
这里是VMware-workstation-7.0.0-203739标准版.exe的链接,可以用迅雷下载:
https://download2.vmware.com/software/wkst/VMware-workstation-7.0.0-203739.exe?HashKey=1338595dbfed5502d44e5506520145fe&ext=.exe&AuthKey=1258895780_40bddf08d507e11e4cb51f2f729cced0&ext=.exe

1.2.下载Mac OS:
这就是苹果的操作系统。本文下载的是LeoSnow即Mac OS 10.6。
这个链接可以用迅雷下载:
ftp://snowleoparddown.maiyadi.com/Mac_OS_10.6_Snow_Leopard_10.6_Retail_maiyadi.dmg

1.3.下载iphone SDK:
“iphone_sdk_3.1.2_with_xcode_3.2.1__snow_leopard__10m2003.dmg”,
这个链接可以用迅雷下载:
http://ipsw.info/iphone_sdk_3.1.2_with_xcode_3.2.1__snow_leopard__10m2003.dmg

1.4.下载iphone SDK:
Darwin.iso或Rebel EFI.iso 用于引导光盘ISO镜像文件。
--------------------------------------
Nov 14
iPhone开发语言Objective-C是一种简单的计算机语言,简称OC,支持复杂南通的面向对象编程。

    Objective-C从标准的ANSI C语言扩展而来,并提供了定义类、方法和属性的语法,还有其它结构来促进类的动态扩展。类的语法和设计把部分基于第一种面向对象的编程语言 Smalltalk。

    如果你有使用面向对象语言的经验,接下来的信息会帮你学习到Objective-C基本的语法。许多传统的面向对象概念,如封装、继承和多态 ,都会在 Objective-C中出现。
如果你从来没有使用过面向对象语言,在开始之前,至少需要基本理解相关的概念。对象和面向对象结构的使用是设计iPhone开发程序的基础 ,而且理解它们是怎样交互的是创建程序的必要条件。

   要了解关于Objective-C更加详细的信息和语法,请查阅Objective-C程序设计。
Objective-C:C语言的超集Objective-C是C语言的ANSI版本的超集,支持相同的基础语法。与C语言相同,Objective-C也会定义头文件和源文件,将公共的声明和实 现分离。


Objective-C,通常写作ObjC和较少用的Objective C或Obj-C,是扩充C的面向对象编程语言。它主要使用于Mac OS X和GNUstep这两个使用OpenStep标准的系统,而在NeXTSTEP和OpenStep中它更是基本语言。Objective-C可以在gcc运作的系统写和编译,因为gcc含Objective-C的编译器。1980年代初布莱德·确斯(Brad Cox)在其公司Stepstone发明Objective-C。他对软件设计和编程里的真实可用度问题十分关心。Objective-C最主要的描述是他1986年出版的Object Oriented Programming: An Evolutionary Approach. Addison Wesley. ISBN 0-201-54834-8.
百度百科:http://baike.baidu.com/view/459423.html?wtp=tt
扩展学习
Quotation
智能机的开发语言都是C和java语言,
一 iPhone,众所周知iPhone是苹果公司的产品,那么它的开发环境首选肯定是自家的Mac系统下,Objective-C是他的开发语言,这是种改良的C语言,编译环境是Xcode,Xcode是Mac系统自带的Objective-C编译环境.现在Win平台下还没有开发iPhone的好的平台以及SDK.
二 Android  Android是谷歌公司出品一款手机,它的系统平台是Linux,Android系统都可以在Linux系统下和Win平台下开发.用的是Java语言,编译环境是Java的MyEclipse环境.
三 OPhone OPhone是OMS(开放移动系统)智能操作系统的手机。为了突破TD终端瓶颈,以及促进手机终端与中国移动的网络及应用服务进行无缝对接,中国移动和播思通讯自去年开始在谷歌Android操作系统基础上,它的环境和Android差不多
四 Windows Phone 它是微软公司出品的一款新的手机操作系统,微软的东西嘛,肯定是用自己的开发环境也就是Visual Studio 它是采用C#进行开发的
Pages: 1/1 First page 1 Final page [ View by Articles | List ]