`
倾城一屁
  • 浏览: 74018 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论
文章列表
IOS中数据的持久化保存这块内容,类似于Android中文件的几种常见的存储方式。 对于数据的持久化存储,ios中一般提供了4种不同的机制。 1.属性列表 2.对象归档 3.数据库存储(SQLite3) 4.苹果公司提供的持久性工具Core Data。 其实 ...
小弟是刚刚接触ios5,对storyboard也是茫然不知其为何物, goole了下发现一篇英文的入门教程, 看了下还是很基础的,比较适合我这样的新手,我大概翻译了下供大家参考,我英文也是很一般,如果有错误的地方还请大家指正. 以下为翻译内容: 基础辅助教程:XCode 4.2的Storyboard 今天我准备做一个短暂的辅助教程关于怎么用Xcode 4.2里边的Storyboard.当storyboard出现的时候相比于以前IB的工作方式有些让人茫然不解, 我也感觉苹果在这个技术上真的打了一个曲线球. 实际上当你开始使用它的时候并不是完全那么糟糕,这个教程将会展现用一个按钮怎么连接两 ...
目标:把NSDictionary对象转换成NSMutableDictionary对象,对象内容是字符串数组,需要实现完全复制(深复制)。 如果调用NSDictionary的mutableCopy方法,可以得到一个NSMutableDictionary对象,但这只是浅复制,如果我们修改NSDictionary中数组内的值(当然,数组必须是NSMutableArray),会发现,NSMutableDictionary对象内数组的值也跟着更改了。我们需要增加一个mutableDeepCopy方法来实现深复制,在该方法中,循环复制每一个元素。 要实现这一功能,有两种方法,一是继承,二是使用categor ...
5.4 SEL类型 1     id cattle[3]; 2     SEL say; 3     SEL skin; 其中id cattle[3]定义了一个数组用于存储Cattle或者Bull对象。这一行代码估计大家都很熟悉,笔者就不赘述了。像这样的传统的数组并不能完全满足我们的需求,当我们需要做诸如追加,删除等操作的时候,会很不方便。在随后的章节里面笔者将要向大家介绍传统数组的替代解决方案NSArray。 上一段代码的第二行和第三行是本节所关注的,就是SEL类型。Objective-C在编译的时候,会根据方法的名字(包括参数序列),生成一个用 来区分这个方法的唯一的一个ID ...
iOS5中加入了新知识,就是ARC,其实我并不是很喜欢它,因为习惯了自己管理内存。但是学习还是很有必要的。 在iOS开发过程中,属性的定义往往与retain, assign, copy有关,我想大家都很熟悉了,在此我也不介绍,网上有很多相关文章。 现在我们看看iOS5中新的关键字strong, weak, unsafe_unretained. 可以与以前的关键字对应学习strong与retain类似,weak与unsafe_unretained功能差不多(有点区别,等下会介绍,这两个新关键字与assign类似)。在iOS5中用这些新的关键字,就可以不用手动管理内存了,从java等其它语言转过来 ...
举个例子可能更好理解点 NSString *pt = [[NSString alloc] initWithString:@"abc"]; 上面一段代码会执行以下两个动作 1 在堆上分配一段内存用来存储@"abc"  比如:内存地址为:0X1111 内容为 "abc" 2 在栈上分配一段内存用来存储pt  比如:地址为:0Xaaaa 内容自然为0X1111  下面分别看下assign retain copy assign的情况:NSString *newPt = [pt assing];   此时newPt和pt完全相同 地址都是 ...
在android程序中运行第一步就是检测当前有无可用网络 如果没有网络可用就退出程序 if (isConnect(this)==false) { new AlertDialog.Builder(this) .setTitle("网络错误") .setMessage("网络连接失败,请确认网络连接") .setPositiveButton("确定", new DialogInterface.On ...
1.abstract class 在 Java 语言中表示的是一种继承关系,一个类只能使用一次继承关系。但是,一个类却可以实现多个interface。    2.在abstract class 中可以有自己的数据成员,也可以有非abstarct的成员方法,而在interface中,只能够有 ...
Xcode中在.h文件和.m文件之间切换 在Xcode3中,可以用快捷键, Alt + ⌘ + [↑|↓] 来切换.h和.m文件。但是升级到Xcode4之后,发现上述快捷键,不起作用了。后来发现,默认快捷键改成了 ⌃ + ⌘ + [↑|↓] Ctrl + Command + [↑|↓] 如果习惯了Xcode3的设置,可以在Preferences->Key Bindings中改回来。对应项为,Jump to Next/Previous Counterpart.
1、nil和null从字面意思来理解比较简单,nil是一个对象,而NULL是一个值,我的理解为nil是将对象设置为空,而null是将基本类型设置为空的,个人感觉有点像属性当中,基本类型分配为assign NSString类型一般分配copy,而对象一般用retain。而且我们对于nil调用方法,不会产生crash或者抛出异常。 看一段 nil -> Null-pointer to objective- c object NIL -> Null-pointer to objective- c class null-> null pointer to primitive type ...
进入正题, 我们经常会在官方文档里看到这样的代码: MyClass.h @interface MyClass : NSObject { MyObject *myObject; } @property (nonatomic, retain) MyObject *myObject; @end MyClass.m @synthesize myObject; -(id)init{ if(self = [super init]){ MyObject * aMyObject = [[MyObject alloc ...
private long exitTime = 0; @Override public boolean onKeyDown(int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_BACK && event.getAction() == KeyEvent.ACTION_DOWN) { if ((System.currentTimeMillis() - exitTime) > 2000) { Toast.makeText(getApplicationCont ...
前几天群成员讨论过关于9patch的工具【我比较喜欢喊它9妹子,西西(*^_^*)】、然后研究了一下,比较简单但是很实用的一个Android SDK 自带工具、这里给大家做一个分享下经验!   1.什么是“9妹”(9patch)? 它是一个对png图片做处理的一个工具,能够为我们生成一个"*.9.png"的图片; 2.何为"*.9.png"? 所谓"*.9.png"这是Android os里所支持的一种特殊的图片格式,用它可以实现部分拉伸;这种图片是经过”9妹“进行特殊处理过的,如果不处理的话,直接用PNG图就会有失真,拉伸不正常的现象 ...
通常每个应用程序都在它自己的进程内运行,但有时需要在进程间传递对象,你可以通过应用程序UI的方式写个运行在一个不同的进程中的service。在android平台中,一个进程通常不能访问其他进程中的内存区域。所以,他们需要把对象拆分成操作系统能理解的简单形式,以便伪装成对象跨越边界访问。编写这种伪装代码相当的枯燥乏味,好在android为我们提供了AIDL工具可以来做这件事。 AIDL(android接口描述语言)是一个IDL语言,它可以生成一段代码,可以使在一个android设备上运行的两个进程使用内部通信进程进行交互。如果你需要在一个进程中(例如:在一个Activity中)访问另一个进程中 ...
Service是android 系统中的一种组件,它跟Activity的级别差不多,但是他不能自己运行,只能后台运行,并且可以和其他组件进行交互。Service的启动有两种方式:context.startService() 和 context.bindService()。 使用context.startService() 启动Service是会会经历: context.startService()  ->onCreate()- >onStart()->Service running context.stopService() | ->onDestroy() -> ...
Global site tag (gtag.js) - Google Analytics