摘要:
定义一个字符串的时候可以有很多种方法,比如下面两种char *p1 = "wiz";char p2[] = "wiz";第一种和第二种都可以正确的定义一个字符串,而且在不试图改变字符串内容使用的时候没有什么区别。但是一旦想改变其内容,问题就来了。p1[0] = 'f'; //not okp2[0] = 'f'//okp2实际上是一个字符数组,改变第一个元素的内容是允许的。而p1则不行。因为p1实际上是一个字符串指针,他仅仅代表了一个地址。在大多数的编译器中,往往会把字符串常量放入静态存储区。而且只存一份。而此时p1就指向了 阅读全文
摘要:
2012年4月29日 2012年4月29日 使用NSoperation的时候,要注意对他的处理,可能是作为线程来调度,也可能不作为线程来调度。要看在什么地方调用它的start方法和他的配置(主要是是否同步)例如[NSOperationQueue mainQueue] addOperation:....会在主线程中进行通过 Wiz 发布 阅读全文
摘要:
程序运行时,程序中的各个实例必定会交互,互相影响状态。这个在我们起初设计的时候,就会考虑进去。于是就必须使用一种比较妥当的方式,在对象之间传递消息。这些消息可能是一些变量、常量,也可能是一个事件,比如下载完成。我这几天在coding的时候,发现自己原先一直用的定义public变量的方法实在太土太无语。于是仔细研究了一下objective-c中对象之间传递信息的方法。发现委托机制非常不错。 委托机制,字面理解就是找个委托人来做一些事情。比如我有一个下载类(定义为WizDownload),他的主要功能是负责与服务器交互,下载数据。但是下载完成后数据怎么处理就不是这个类负责了(这符合单一职责原... 阅读全文
摘要:
如果你准备写一个类,希望保证只有一个实例存在,同时可以得到这个特定实例提供服务的入口,那么可以使用单态设计模式。单态模式在Java、C++中很常用,在Cocoa里,也可以实现。但是,Objective-C的单例模式绝对和你所想象不一样,他的写法和你所见过的所有语言的写法都不一样。官方建议由于自己设计单态模式存在一定风险,主要是考虑到可能在多线程情况下会出现的问题,因此苹果官方建议使用以下方式来实现... 阅读全文
摘要:
苹果的消息机制是个非常好用的东西,当需要在类的各个实例之间传递消息或者写一些事件驱动的程序时,绝对是个不错的工具。但是使用时一不小心就会造成引用已经被dealloc的对象的错误,引起程序崩溃。于是,在合适的时机addobserver和removeobserver就是个很关键的事情。下面,分几种情况来阐述一下自己的一点想法。一,使用defaultcenter。简单的情况下,若自己没有太多的消息需要注册和处理,直接使用[NSNotificationCenter defaultCenter]来调用默认的消息中心就够用了。如果,有一些特殊的要求那么,就需要试一下一个继承自NSnotificationc 阅读全文
摘要:
文件一般会有编码格式,编码格式的辨别是依赖文件中的前两个字节。比如utf16的编码格式在前两个字节中写的就是fffe 阅读全文
摘要:
iOS开发之详解剪贴板 - CocoaChina 苹果开发中文站 - 最热的iPhone开发社区 最热的苹果开发社区 最热的iPad开发社区 (2)在iOS中,可以使用剪贴板实现应用程序之中以及应用程序之间实现数据的共享。比如你可以从iPhone QQ复制一个url,然后粘贴到safari浏览器中查看这个链接的内容。概述在iOS中下面三个控件,自身就有复制-粘贴的功能:1、UITextView2、... 阅读全文
摘要:
iOS获取当前系统的相关信息 - - 博客频道 - CSDN.NET (3)NSLog([[UIDevice currentDevice] name]); // Name of the phone as named by userNSLog([[UIDevice currentDevice] uniqueIdentifier]); // A GUID like string NSLog([[UID... 阅读全文
摘要:
在UInavigationController和UITabBar之间切换,容易造成画面乱七八糟。中间的很多机制不是很透明,因而在需要使用到标签栏的时候建议自己去做一个实现起来也不是很困难。下面我就简单的说一下实现方法。(-)首先确定放置标签栏的位置。一般我们会将标签栏放在视图的底部。假设我们要使用五个标签按钮,就是(每个大小)64*5=320(视图宽度)。高的话自己随便定义,大概和宽差不多就行了。我们暂且定义为64。这样我们在视图底部简历五个UIimageView。他们的Rect分别是- (void) buildTabBar{ for(int i = 0; i<5; i++) { ... 阅读全文
摘要:
Xcode免证书开发调试 想写 IPAD 程序需要 MacOSX 操作系统和 Xcode 开发环境。在 PC 上把这两个东西装好绝对是体力活,那几天我把各种版 本的 Mac OSX(10.6.X)在 win7 的 Vmware7 的虚拟机下来来回回装了不知道多少遍。直到安装成功时,我已经忘了我 究竟装的是哪个论坛推出的版本了(光盘影像文件叫 iAntares_v3.iso 对应 MaxOSX 1... 阅读全文