摘要:
对于iphone开发人员来说,内存管理是极为重要的技巧,哪怕程序的功能再强大,设计再漂亮,如果内存控制不好,也难逃程序莫名退出的噩运,这与网页开发是完全不同的。内存控制里面有很多门道,在这里分析一下 viewDidUnload 和 dealloc 的区别,关于这两者的区别的文章很多,但是大都是摘抄和翻译官方文档,有的也只是简单的说两句,并没有详细说出两者具体的区别。在了解两者之间的区别,首先要知道 view 的生命周期,google 里面有很多文章,可以先去搜一下,这里就不详解了。顾名思义 viewDidUnload 就是当 view 被卸载以后执行的语句,它与 viewDidLoad 是相. 阅读全文
摘要:
UIWebView是iOS最常用的SDK之一,它有一个stringByEvaluatingJavaScriptFromString方法可以将 javascript嵌入页面中,通过这个方法我们可以在iOS中与UIWebView中的网页元素交互。 UIWebView是iOS最常用的SDK之一,它有一个stringByEvaluatingJavaScriptFromString方法可以将javascript嵌入页面中,通过这个方法我们可以在iOS中与UIWebView中的网页元素交互。stringByEvaluatingJavaScriptFromString使用stringByEvaluat... 阅读全文
摘要:
苹果每发布一个系统,都够开发者忙活一阵的,更新xcode适配新系统:像iOS4支持Retain需要@2x的图;像iOS5不支持udid;像现在的iOS6和iPhone5要面对的下面的一堆问题。1.添加Retina 4 launch image,运行工程的时候会主动提示你。这时候直接点Add就好了。会默认添加一张Default-568h@2x.png的黑图:不添加的话,程序运行起来会上下有黑边儿的哟添加完以后的效果这个地方再啰嗦两句:当透明第一次在群里说要添加这么一张图的时候,我的第一反应是:那不是程序启动的时候会有一张黑图么?而我的程序是不需要启动图的。而当自已添加这张图的时候才发现,这个担心 阅读全文
摘要:
iPhone文件系统NSFileManager讲解是本文要介绍的内容,主要是通过iphone文件系统来学习NSFileManager的使用方法,具体内容来看本文详解。iPhone文件系统:创建、重命名以及删除文件,NSFileManager中包含了用来查询单词库目录、创建、重命名、删除目录以及获取/设置文件属性的方法(可读性,可编写性等等)。每个程序都会有它自己的沙盒,通过它你可以阅读/编写文件。写入沙盒的文件在程序的进程中将会保持稳定,即便实在程序更新的情况下。如下所示,你可以在沙盒中定位文件目录://对于错误信息NSError*error;//创建文件管理器NSFileManager*fi 阅读全文
摘要:
很多已经熟悉C/C++的朋友在初次使用Objective-C作为开发语言时不是很习惯,不过objective-C/C++本身又是几乎完全兼容GNU C/C++的。这里作为一个代码实例来描述Objective-C与objective-C++如何混合使用。其实这就同C与C++如何混用一样,还是非常容易上手的。不 过,为了能够更好地看清这一混合优势。项目中使用了objective-C/C++一个非常强大的语法——Category(类别,或范畴)对原有的类 Sample进行扩展,衍生出一个accumulateValue这个成员方法。这个方法的实现放在一个.mm文件中(.m文件表示objective- 阅读全文
摘要:
封装不封装,这是个问题。今天我在看Cocoa开发者邮件列表的时候,看到一个帖子,求助如何在两个View之间互相通信的问题。做Windows程序员的时间长的我都不好意思说了,我意识到,这个问题在我刚刚接触到Mac上的Objective-C时也遇到过。我现在可以提出这个问题的简化版:“我有一个对话框,获取了一些用户输入的数据。我现在需要从我那个对话框中把这个数据提取出来以供主窗口使用。如何才能从主窗口获取到对话框里的数据呢?”在 Windows里,尤其是C# .NET,你可以通过添加一个Form对象来创建新的窗口,而且还可以简单地在设计窗口中添加一些不同的“控件”。这些操作是非常容易的。不过一旦窗 阅读全文
摘要:
1 随机数的使用头文件的引用#import <time.h>#import <mach/mach_time.h>srandom()的使用srandom((unsigned)(mach_absolute_time() & 0xFFFFFFFF));直接使用 random() 来调用随机数2 在UIImageView 中旋转图像float rotateAngle = M_PI;CGAffineTransform transform =CGAffineTransformMakeRotation(rotateAngle);imageView.transform = tr 阅读全文
摘要:
《iPhone与iPad开发实战--iOS经典应用剖析》第2章Objective-C语言基础,通过本章的学习,读者可以了解Objective-C基本语法,包括:数据类型、表达式,还有类、对象等概念。本节为Objective-C概述。第2章 Objective-C语言基础iOS的项目中主要采用Objective-C语言编写,因此在开始讲解具体项目之前,本章将介绍Objective-C语言基础。本章重点如下:Objective-C与iOS开发数据类型和表达式类、对象和方法继承与多态分类与协议内存管理Foundation框架2.1 Objective-C概述Objective-C是一种面向对象的计算 阅读全文
摘要:
3.3.5 主视图控制器代码主视图控制器是MainViewController,由于视图使用的控件都已经在视图MainView中定义了,所以在视图控制器MainViewController代码很少了,在本应用中还设计了按钮按下和按钮选择时候的普通和高亮状态效果。这些效果可以在检查器中设定,也可以通过代码设定,本应用是通过代码设定这些效果。先看看主视图控制器类MainViewController,它的h文件定义请参考“代码清单3-5Password/Classes/MainViewController.h”所示。【代码清单3-1】 Password/Classes/MainViewControl 阅读全文
摘要:
3.3.4主视图代码在本应用中主视图中使用的视图是MainView,事实上在很多应用中我们不用为视图控制器自定义一个视图类的而是直接使用UIView基类就可以了。由于本应用是按照旧版本的Xcode模板编写的,我们还是按照旧版本介绍吧。在Cocoa MVC设计模式中,视图中的控件在视图控制器或者视图中都要有对应的控件变量,没有自定义视图类的时候,这些控件变量是在视图控制器中定义的,有了自定义视图类后,这些控件变量可以在视图类中定义,本应用就是这样子的。主视图类是MainView,它的h文件定义请参考“代码清单3-3Password/Classes/MainView.h”所示。【代码清单3-1】 阅读全文