- 博客(64)
- 资源 (21)
- 收藏
- 关注
原创 Object-C详细编程教(五)-手动内存管理
有效的管理内存1.内存分配:当程序创建对象时需要为对象分配内存。采用合理的设计,尽量减少对象的创建,并减少对创建过程中内存的开销,这是内存管理一方面的。2.内存回收:当程序不再需要对象时,系统必须及时回收这些对象所占用的内存,以便于程序可以再次使用这些内存。一般来说,内存分配的工作对程序影响小些,即使程序在一段时间内创建了过多的内存,造成了较大的内存开销,只要这些对象占用的内存得到了及时回收,程序依然可以正常运行。而且,内存的分配操作相对比较容易,当程序创建对象时,系统会自动的为这些对象分配内存。
2014-12-26 11:31:55 899
原创 Object—C编程详解(四)-协议(protocol)
协议协议的功能类似于c++中对抽象基类的多重继承。协议是多个类共享方法的列表。协议中列出的方法在本类中并没有相应的实现,而是由别的类来实现这些方法。如果一个类要遵守一个协议,该类就必须实现特定协议的所有方法(可选方法除外)。非正式协议非正式协议是NSObject类(显而易见,还包括它的子类)的类别,其所有的子类都含蓄地接受了这个协议。(类别是Objective-C的一个语言特点,可以让你在无需子类化的前提下为一个类增加方法。)非正式协议中的方法是否实现都是可选的,因此在调用非正式协议中的方法之前
2014-12-25 17:58:30 691
原创 Object—C详细编程(三)-@property和@synthesize
简单点说,属性就是一种支持访问对象成员变更的快捷的方法,可以自动的生成setter和getter方法(setter只支持传一个参数)。 面向对象思想的基本特点为封装、继承、多态。封装性主要体现在无法直接访问对象成员变量,如果需要的话,通过setter和getter方法访问成员变量。这样的话,通常要为每一个支持外边访问的成员变量写两个方法,这种操作比较繁琐且无意义。通过@property可以简化这种方法。
2014-12-25 14:17:05 615
原创 Object-C详细编程(二)—封装,继承,多态
封装,继承,多态面向对象的三大特点封装、继承、多态封装:隐藏内部实现,稳定外部接口. 封装的实现: 属性:封装了实例变量 方法:封装了具体的实现代码 类:封装了属性和方法
2014-12-25 14:08:24 733
原创 Object-C详细编程教程(一):类定义与实现
#import <Foundation/Foundation.h>//引入框架头文件,告诉编译器依赖其中的类@interface MyClass : NSObject {//@interface申明一个新类 类名:基类@public//公开成员变量 NSString *name;//字符串成员变量声明@private//私有成员变量 int age;//整形成员变量}
2014-12-25 09:57:07 1058
原创 从C/C++语言到Objective-C语言
从C/C++语言到Objective-C语言Objective-C,通常写作ObjC和较少用的Objective C或Obj-C,是扩充C的面向对象编程语言。所以有一定C/C++语言基础理解和掌握Objective-C也会相应的快些。这回,我们将比较着学习Objective-C语言,掌握其语法并理解其思想。语法让我们先来看看C++和Objective-C中对于类的宣言 :
2014-12-24 15:34:35 1613 5
原创 C++和Objective-C混编(官方文档翻译)
Using C++ With Objective-C 苹果的Objective-C编译器允许用户在同一个源文件里自由地混合使用C++和Objective-C,混编后的语言叫Objective-C++。有了它,你就可以在Objective-C应用程序中使用已有的C++类库。Objective-C和C++混编的要点 在Objective-C++中,可以用C++代码调用方法也可以从Objective-C调用方法。在这两种语言里对象都是指针,可以在任何地方使用。例如,C++类可以使用Objecti
2014-12-24 15:12:07 867
原创 初学者:介绍NSLog的使用
可能你曾经有过Windows编程的经验,通常在你调试程序的时候,如果希望看到某个中间结果,你会习惯使用MessageBox来显示中间的结果。有了Cocoa的NSLog,你在写Cocoa程序的时候,就可以无需每次都调用NSAlert来观察中间结果了。NSLog的定义NSLog定义在NSObjCRuntime.h中,如下所示:
2014-12-24 14:31:52 588
原创 Objective-C语法快速参考
Objective-C语法快速参考一、XCode、Objective-C、Cocoa说的是几样东西?答案:三样东西。 XCode:你可以把它看成是一个开发环境,就好像Visual Studio或者Netbeans或者SharpDevelop一样的玩意。你可以将Interface Builder认为是Visual Studio中用来画界面的那部分功能单独提出来的程
2014-12-24 11:28:41 851
原创 Object-关于NSAutoReleasePool的理解
Cocoa的内存管理主要依赖于Reference Counting, 而NSAutoReleasePool就是用来支持它的. autorelease pool中存放的对象会在其自身干枯(drain)时被release. 我们都知道当一个object的release方法被触发时, 这个对象就被销毁了, 再也不能对它有任何引用, 否则就会出现异常. 但如果在销毁它时触发的是autorelease方法, 那这个object就进入了对应的autorelease pool, 它的生命就被延长了(当pool dra
2014-12-24 11:14:56 531
原创 Object-C Categories和Protocols
Category要扩展一个不可修改的类,通常的做法是为该类创建一个子类,在子类中实现想要实现的方法,在Object-C中,可以通过category来实现,并且实现方式更为简单。现在有如下定义:一个包含4个方法的Fraction类
2014-12-24 09:33:52 428
原创 Object-C中分类
有的时候,我们需要对原有的类添加一些功能(方法)作为源类扩展,他的功能是扩展类的能力。分类需要注意的地方:1:尽管分类可以访问原始类的实例变量,但是他不能添加自身的任何变量,如果需要添加变量,可以考虑创建子类。2:分类可以重载该类的另一个方法,但是通常认为这种做法是卑劣的设计习惯。第一:重载一个方法后,再也不能访问原来的方法,因此,必须小心将被重载方法中的所有功能复制到替换方法中,如果确实需要重载方法,可以考虑常见子类,如果在子类中重载方法,仍然可以通过想super发送消息类来引用父类的方法。因
2014-12-23 19:48:10 544
原创 Objective-C与C++的不同与相同
O-C中所有的类都必须继承自NSObject。 O-C中所有对象都是指针的形式。 O-C用self代替this。 O-C使用id代替void*。 O-C使用nil表示NULL O-Ck只支持单继承。 O-C使用YES/NO表示TRUE/FALSE O-C使用#import代替#include O-C中用消息表示类的方法,并采用[aInstance method:argv]调用形式。 O-C支持反射机制 O-C支持Dynamic Typing, Dynamic Binding和Dynami
2014-12-23 18:08:20 588
原创 Object-C中nil, NULL和NSNull
控制处理不当是引起程序错误乃至崩溃的重要原因之一。 因为Object-C的集合对象,如NSArray、NSDictionary、NSSet等,都有可能包含NSNull对象,所以,如果一下代码中的item为NSNull,则会引起程序崩溃。
2014-12-23 15:54:39 604
原创 黑马程序员—Object c 基础知识
文件类型说明:.h 头文件,用于定义类、实例变量及类中的方法等定义信息(interface)。.m 源文件,定义方法体,可实现objce-c和c方法(implementation)。.mm c++源文件引用头文件:可通过#import关键字引入想要使用的头文件,该关键字作用通#include相同,不过import会确保每个文件只会被引用一次。
2014-12-23 09:41:22 677
原创 黑马程序员—学objective-c
第一步,学习开发语言Objective-C。参考书看《Objective-C基础教程》这本书就行了。书看到后来还需要补充一些关于面向对象的知识,一般计算机专业的学生都是在学C++的时候接触这类思想的。我推荐的那本参考书里也会有一些讲解,进阶的学习需要以后再去看资料,没有特定教材,因为面向对象是一种编程思想,好在Objective-C本身就是这种思想的体现,以后写代码的时候可以慢慢体会。学完《Objective-C基础教程》,就会对iOS开发中所用到的基础数据类有一个了解了,这时候应该就可以写简单的无界面程序
2014-12-23 09:39:40 568
原创 ios基础知识-面试题(二)
Object-C有多继承吗?没有的话用什么代替?cocoa 中所有的类都是NSObject 的子类,多继承在这里是用protocol 委托代理来实现的你不用去考虑繁琐的多继承 ,虚基类的概念.ood的多态特性在 obj-c 中通过委托来实现.Object-C有私有方法吗?私有变量呢?objective-c – 类里面的方法只有两种, 静态方法和实例方法. 这似乎就不是完整的面向对象了,按照OO的原则就是一个对象只暴露有用的东西. 如果没有了私有方法的话, 对于一些小范围的代码重用就不那么顺手了.
2014-12-22 23:39:58 534
原创 ios基础知识-面试题
1. 浅复制和深复制的区别? 2.类别(category)的作用?继承和类别在实现中有何区别?3. 类别(category)和类扩展(extension)的区别。4. obc中的协议和java中的接口概念有何不同? 5.解释一下KVO 和 KVC? 6. 代理的作用?
2014-12-22 23:24:20 885
原创 高内聚低耦合
高内聚低耦合,是软件工程中的概念,是判断设计好坏的标准,主要是面向对象的设计,主要是看类的内聚性是否高,耦合度是否低。高内聚 内聚就是一个模块内各个元素彼此结合的紧密程度,高内聚就是一个模块内各个元素彼此结合的紧密程度高。 所谓高内聚是指一个软件模块是由相关性很强的代码组成,只负责一项任务,也就是常说的单一责任原则。低耦合
2014-12-22 13:00:53 708
原创 黑马程序员—iOS的基本的设计模式
不管创建iOS的哪种类型的应用程序,有几个基本的设计模式和技术在写代码前必须你必须知道。在IOS,系统框架为应用程序提供了最重要的基础设施,在大多数情况下,只能通过系统框架来调用底层的硬件。反过来,框架也使用了很多特别的设计模式,开发应用程序前,我们是假设你很熟悉这些设计模式的。要知道系统怎么支持应用程序的,那就得先理解这些设计模式,这非常重要。
2014-12-18 16:58:50 556
原创 黑马程序员—IOS与Android
入门难度Android操作系统上的各种应用开发,大多数都是使用JAVA开发的,用在Dalvik虚拟机上,其中的很少的部分用NDK,相对来说上手就比较容易了。iOS是用OC来开发的,如果要想学iOS,不只是掌握OC基础,还要有MacOS/Darwin、C/C++高级编程认识才可以,就分析来看,入门就相对难一点,也比较深奥。如果你有C基础的话,那么学iOS很不错。
2014-12-18 16:09:22 956
原创 黑马程序员—IOS控件UITableView详解
IOS控件UITableView详解终于写到了UITableView,用处最广的一个控件,当然也是要记相当多东西的一个控件。首选创建一个新的项目,并添加一个MainViewController的Class文件打开MainViewController.h文件
2014-12-18 15:26:20 582
原创 黑马程序员—iOS- <项目笔记>UI控件常见属性总结(下)
UIView是用户构建界面的基础,所有的控件都是在这个页面上画出来的,你可以把它... 今天就简单的介绍了一下IOS应用开发常用的一些控件,还有基础的UIView,UIWindow
2014-12-18 15:11:02 704
原创 黑马程序员—iOS- <项目笔记>UI控件常见属性总结(上)
UIView是用户构建界面的基础,所有的控件都是在这个页面上画出来的,你可以把它... 今天就简单的介绍了一下IOS应用开发常用的一些控件,还有基础的UIView,UIWindow
2014-12-18 15:05:49 709
原创 黑马程序员—IOS基本控件
IOS中最常用到的控件UIButton、UISlider、UISwitch、UISegmentedControl通过Xib文件拖动生成非常简单,其实用代码实现也是一样的简单,当然,用代码实现能够掌握到更多的东西...
2014-12-18 14:46:06 511
原创 黑马程序员—IOS按钮用法与属性实例
OBShapedButton是一个开源的非正规矩形的iOS按钮控件,是UIButton的子类,可以用于iPhone、iPad。虽然可以用图标来实现非矩形的按钮形状效果,但是使用OBShapedButton的好处是界面响应消息的区域只是按钮绘制的地方。
2014-12-18 14:10:09 515
原创 黑马程序员—IOS环境搭建与开发入门(二)注册开发者账号
如果你是一个开发团队,在你打算掏腰包购买iOS开发者授权之前,最好先问一下你的同事,是否已经有人获得了开发许可,因为一个开发许可一年内最多可以授权给111个设备来开发测试。如果你没有授权许可可以借用,或者你打算最终在iTunes Store中以自己的名义发布你的应用,那么就准备一张国际信用卡,准备支付99美元来申请一个iOS开发者授权。
2014-12-18 12:53:51 646
原创 黑马程序员—IOS环境搭建与开发入门注册APPLE ID(一)
苹果帐户(Apple ID)是苹果公司为其产品(如iWork、iTunes Store和Apple Store)所引入的认证系统。Apple ID作为一个全功能于一身的帐户,允许用户访问苹果的各种资源。因为一个Apple ID可以被用于由苹果提供的多个产品和服务,它也可以称为Apple账户、MobileMe账户、.Mac账户、iTunes Store账户和iChat账户
2014-12-18 12:49:58 1162
原创 黑马程序员—ios开发环境xcode介绍
Xcode 是苹果公司开发的编程软件,是开发人员建立OS X 和 iOS 应用程序的最快捷方式。Xcode 具有统一的用户界面设计,编码、测试、调试都在一个简单的窗口内完成。
2014-12-18 11:39:59 1725
原创 黑马程序员—ios发展历史
苹果iOS是由苹果公司开发的手持设备操作系统。苹果公司最早于2007年1月9日的Macworld大会上公布这个系统,最初是设计给iPhone使用的,后来陆续套用到iPodtouch、iPad以及AppleTV等苹果产品上。iOS与苹果的MacOSX操作系统一样,它也是以Darwin为基础的,因此同样属于类Unix的商业操作系统。原本这个系统名为iPhoneOS,直到2010年6月7日WWDC大会上宣布改名为iOS。
2014-12-18 11:32:08 791
原创 Android—MyGuideView(海贼王人物的资料)
关于android的viewpager类的使用,以及使用pageAdaper数据适配器的使用,下面会有显示的,点点可以进行点击,并切换view,很基础的东东,适合初学者
2014-12-12 14:33:44 916
翻译 [Accessibility] Missing contentDescription attribute on image
今天使用了下ADT 16.0 在定义一个ImageVIew的时候 总是提示这个[Accessibility] Missing contentDescription attribute on image警告,虽说可以不理 但总是感觉怪怪的,在网上一搜 发现原来这是ADT 16.0的新特性,在一些没有文本显示的控件里,如imageView和imageButton等,ADT会提示你定
2014-12-11 14:58:42 630
原创 Android(错误)—Failed to install DroidIPCam.apk on device 'emulator-5554': timeout
Android(错误)—Failed to install DroidIPCam.apk on device 'emulator-5554': timeout由于模拟器已经开启而没有关闭或者非法关闭引起的。
2014-12-11 11:31:51 817
原创 Android开发过程中 R文件消失的5种解决办法
Android 在开发中会自动生成一个R.java文件,这个文件是自动生成的,最好不要去改。不过有的时候呀,这个java文件会跟我们捉迷藏,在程序中的R.xx.xxx会出现报错现象。1.对着工程点击鼠标右键 选择 Build Project,R.java文件又回来了。这样的R.xx.xxx就能读的出来了。如果不行 试用第二种方法
2014-12-11 09:44:10 1965
原创 android中常见的类(三)
android平台上的应用程序,是java应用程序,java程序的工作是消息驱动工作的。 分为两步: 第一步,有一个消息队列,像这个消息队列中添加消息,第二步就是响应消息,主要是通过一个消息循环来不断地从这个消息队列中取出消息,然后处理。 当事件要请求处理时,就会对应要发出处理请求的消息,这时就把这个消息添加到消息队列中去,一般添加位置是在队尾添加。 事件源发出的消息,可以是物理的,比如触摸键盘的摸个按键,系统接收到这个消息之后就对就此作出对应的处理;可以是系统或者应
2014-12-09 18:08:28 583
原创 android中的常见类(二)
Thread类是android为线程操作而做的一个封装类。在Thread这个类中,创建真实线程的工作是在run函数中完成(1)mCanCallJava无论是true or flase,最后都是调用androidCreateRawThreadEtc(),完成了对于真实线程的创建任务,就是说此时有了可以工作的线程。(2)mCanCallJava == true时,会实现线程跟androidruntime的关联。通过,androidruntime:: startReg()函数的调用,进一步使得androidCr
2014-12-09 18:04:49 629
原创 android的常见类(一)
RefBase是android中的基本类,类似java中的CObject类,android中的所有类都是此类的子类,当然,sp,wp是从RefBase中派生而来,这两个类的功能是利用引用计数的方法控制对象生命周期。
2014-12-09 18:01:55 831
原创 Android 插拔sd广播
因此SD卡插拔事件能否被我们自定义的Recevier收到就取决于如下子问题了:1. SD卡插拔事件是显式事件,还是隐式事件2. SD卡插拔事件的action, data , category 的内容是什么3. 我们自定义的Receiver组件的IntentFilter是如何声明的
2014-12-09 17:28:05 1249
原创 Android面试准备复习之Android知识点大扫描
4G:第四代移动电话行动通信标准,指的是第四代移动通信技术,外语缩写:4G。该技术包括TD-LTE和FDD-LTE两种制式(严格意义上来讲,LTE只是3.9G,尽管被宣传为4G无线标准,但它其实并未被3GPP认可为国际电信联盟所描述的下一代无线通讯标准IMT-Advanced,因此在严格意义上其还未达到4G的标准。只有升级版的LTE Advanced才满足国际电信联盟对4G的要求)。
2014-12-09 17:22:23 3764
第一人称射击游戏(Unity)
2015-09-17
Unity_模仿击打铝罐代码
2015-09-17
图片控件ImageView
2014-12-08
羽哥Time And DatePicker
2014-12-08
RadioButtonAndCheckboxDemo
2014-12-08
universal-image-loader-1.8.6-with-sources.jar
2014-12-05
android-support-v4.jar
2014-12-05
羽哥位移的血轮眼
2014-12-05
羽哥android动画-旋转+透明的血轮眼
2014-12-05
羽哥TabHostDemo
2014-12-02
羽哥RatingBarDemo
2014-12-01
羽哥SeekBarDemo
2014-12-01
羽哥SpinnerDemo
2014-12-01
微信飞机大战
2014-07-24
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人