![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Objective-C
一路平
这个作者很懒,什么都没留下…
展开
-
Objective-c 和 Mac操作系统
Objective-c看上去像是C语言,或者跟C语言有关,确实Objective-c是C语言的超集,对C语言进行了扩展,它在C语言的基础上增加了面向对象的支持,同时增加了自己独有的特性。 因此,Objective-c是一门面向对象的编程语言,是开发iPhone和iPad应用的编程语言,也是开发基于Mac操作系统的应用程序的编程语言。 在iMac、Mac mini原创 2012-06-18 01:34:45 · 2648 阅读 · 0 评论 -
Objective-c 程序结构
类是Objective-c的核心,Objective-c程序都是围绕类进行的。Objective-c程序至少包含以下三个部分: 1、类接口:定义了类的数据和方法,但是不包括方法的实现代码。 2、类实现:仓储 了实现类方法的代码。 3、应用程序:调用类来完成一些实际操作的应用程序。 类接口,我们可以理解为C/C++语言中原创 2012-06-18 23:23:02 · 1311 阅读 · 0 评论 -
Objective-c 类实现 (@implementation)
在用@interface声明类之后,可以使用@implementation进行实类的实现。类的实现的具体语法如下:@implementation 类名 方法实现代码;@end;实例:@implementation Person- (NSString*) name { return name;}- (int) age { r原创 2012-06-20 00:28:28 · 5597 阅读 · 0 评论 -
Objective-c 方法的调用
在书写了类的声明和实现后,应用程序如何去调用它呢? 在Objective-c中,调用方法的简单格式如下: 1⃣ [实例 方法]; 如: [person setAge:32]; 其中 person是Person类的实例。 或者是: 2⃣ [类名 方法名]; 如:NSString str =原创 2012-06-20 00:29:53 · 8718 阅读 · 0 评论 -
Objective-c 访问控制
在Objective-c中定义类时,也可以使用类似于C++中public、private来修饰成员变量,如下:@intterface Test:NSObject{@publicint i;int j;@protectedfloat m;float n;@privatedouble x;double y;}@protected: 用此指令修饰的实例变量可以被该类和原创 2012-07-13 00:18:41 · 2338 阅读 · 0 评论 -
Objective-c 数据类型
这里列出Objective-c中独有数据类型:一、字符串 在Objective-c中,字符串常量是由@和一对从引号括起的字符串序列。比如:@"China"、@"objective-c"等都是合法的字符串常量。二、id类型 id类型是Objective-c中一个比较独特类型。 在概念上、类似Java中的Object类,可以转换为任何数据类型。原创 2012-07-04 00:24:10 · 3401 阅读 · 0 评论 -
Objective-c 基础框架(Foundation Framework)
一个框架(Framework)就是一个软件包,它包含了多个类。Mac操作提供了几十个框架,从而帮助我们快速地在Mac系统上开发应用程序。在这些框架中,有一些称为基础框架,其中的类包括:字符串(NSString)、数字(NSNumber)、数组(NSArray)、字典(NSDictionary)、集合(NSSet)等。所有基础框架上的类都同用户界面无关。为了使用这些类,需要在程序中,原创 2012-07-14 00:46:12 · 2403 阅读 · 0 评论 -
Objective-c 数字对象(NSNumber)
在Objective-c中有int的数据类型,那为什么还要使用数字对象NSNumber?这是因为很多类(如NSArray)都要求使用对象,而int不是对象。NSNumber就是数字对象,我们可以使用NSNumber对象来创建和初始化不同类型的数字对象。如:#import NSNumber *myNumber,*floatNumber,*intNumber,*number1;//原创 2012-07-14 00:53:15 · 38362 阅读 · 0 评论 -
Objective-c 协议(protocol)
协议的作用类似地C++中对抽象基类的多重继承。类似于Java中的接口(interface)的概念。 协议是多个类共享方法的列表,协议中列出的方法在本类中并没有相应实现,而是别的类来实现这些方法。 如果一个类要遵守一个协议,该类就必须实现特定协议的所有方法(可选方法除外). 定义一个协议需要使用@protocol指令,紧跟着的是协议名称,然后就可以声明一些方法,在指令@end之前的原创 2012-07-05 00:41:07 · 4134 阅读 · 1 评论 -
Objective-c 数组对象 (NSArray 和 NSMutableArray)
一、NSArray是静态数组,创建后数组内容及长度不能再修改。实例://用arrayWithObjects初始化一个不可变的数组对象。//初始化的值之间使用逗号分开,以nil结束。NSArray6 *city = [NSArray arrayWithObjects:@"上海",@"广州",@"重庆",nil];for(int i=0; i < [city count];i++)原创 2012-07-24 08:54:59 · 7760 阅读 · 0 评论 -
Objective-c 集合对象 (NSSet 和 NSMutableSet)
集合(NSSet)对象是一组单值对象的组合。比如,一个包含1到50个数字的集合。集合对象的操作包括搜索、增加、删除集合中的成员,比较两个集合、计算两个集合的交集和并集等。NSSet常用方法:+(id)setWithObjects:obj1,obj2,obj3,...nil //使用一组对象创建新集合-(id)initWithObjects:obj1,obj2,...nil原创 2012-07-24 09:02:02 · 2751 阅读 · 0 评论 -
Objective-c 枚举访问
对于数组、字典和集合,Objective-c提供了枚举方法来访问各个元素,具体方法有两种:方法1:NSArray *array = ...;Member* member;int count = [array count];for(int i = 0 ; i < count ; i++) { member= [array objectAtIndex:i]; NSLog([m原创 2012-07-24 09:03:40 · 2826 阅读 · 0 评论 -
Objective-c NSString 不可修改字符串
Objective-c使用NSString来操作字符串,NSString称为不可修改字符串是因为,当你使用NSString创建字符串不能再修改字符串的内容及长度。1、创建一个字符串NSString *str =@"我是字符串";2、格式化字符串NSString *name =@"zhang";NSString *log = [NSString stringWith原创 2012-07-23 15:09:19 · 3134 阅读 · 0 评论 -
Objective-c NSMutableString 可变字符串
NSString本身不允许修改内容及字符串的长度,如果要修改的话,可以使用NSMutableString。NSMutableString是NSString的子类,所以,所有NSString的方法都适用于NSMutableString。NSString *str1 = @"Welcome,same!";NSString *str2,*str3;NSMutableString *mst原创 2012-07-23 15:44:19 · 1680 阅读 · 0 评论 -
Objective-c 字典对象 (NSDictionary 和 NSMutableDictionary )
NSDictionary的作用同JAVA中的字典相同,提供了“健-值”对的集合。比如,使用字典实现员工编号到员工姓名的存放,编号是一个键(唯一性),姓名是值.NSDictionary例子://用dictionaryWithObjectsAndkeys初始化一个静态字典,记住以nil结束NSDictionary *employes = [NSDictionary dictionar原创 2012-07-24 08:59:18 · 8673 阅读 · 0 评论 -
Objective-C 内存管理
C语言使用malloc方法申请内存,使用free释放内存。Objective-c使用alloc方法申请内存,使用Release来释放它。一、内存申请(alloc) 当使用alloc创建一个对象时,需要在用完之个对象后释放(Release)它。 比如://str1会自动释放,我们不需要自己去释放NSString* str1 = [NSString str原创 2012-07-27 16:42:28 · 3654 阅读 · 0 评论 -
Objective-c @property和@Synthesize
在Objective-c中,使用@property来标识属性(一般是实例变量)。在实现文件中使用@synthesize标识所声明的变量,让系统自动生成设置方法和获取方法。 也就是说@property和@synthesize配对使用,让系统自动生成设置方法和获取方法。 例:Test.h#import @interface Test:NSObject原创 2012-07-05 00:07:38 · 2233 阅读 · 0 评论 -
Objective-c NSFileManager
NSFileManager常用操作-(BOOL)contentsAtPath:path //从一个path所指定的文件上读取数据-(BOOL)createFileAtPath:path contents:(NSData*)data attributes:attr //向一个path所指向的文件上写入数据da原创 2012-07-31 16:12:25 · 3424 阅读 · 0 评论 -
Objective-c NSFileHandle
NSFileHandle常用操作+(NSFileHandle*)fileHandleForReadingAtPath:path //为进行读取操作打开一个文件+(NSFileHandle*)fileHandleForWritingAtPath:path //为进行写入操作打开一个文件+(NSFileHandle*)fileHandleForUpdatingAtPath:path原创 2012-07-31 16:26:12 · 1837 阅读 · 0 评论 -
Objective-C的self.用法的一些总结
关于什么时间用self. , 其实是和Obj-c的存取方法有关, 不过网上很多人也都这么解答的, 那它为什么和存取方法有关? 怎么有关的? 并没有多少人回答出来. 同时关于内存管理的内容, 请大家看旺财勇士的Objective-C内存管理总结~CC专版 , 有些东西我就不多解释了. 进入正题, 我们经常会在官方文档里看到这样的代码:MyClass.h@interf转载 2012-07-31 10:24:44 · 1158 阅读 · 0 评论 -
UITableView使用方法(三) - 交替颜色单元格的实现
效果如下:主要是在tableView的cellForRowAtIndexPath中实现,实现代码如下:- (UITableViewCell *) tableView:(UITableView *)ta原创 2012-08-17 00:13:14 · 2966 阅读 · 0 评论 -
UITableView使用方法(二) - 增加长按事件
一、首先在你的代码中增加长按事件方法的实现,如下://长按事件的手势监听实现方法- (void) myHandleTableviewCellLongPressed:(UILongPressGestureRecognizer *)gestureRecognizer { if (gestureRecognizer.state == UIGestureRecognizerState原创 2012-08-17 00:08:58 · 7549 阅读 · 0 评论 -
iOS产生随机数
有时我们在程序开发工程中需要在生成随机数, 可是Objective-C并没有提供相关函数, 还好C提供了rand(), srand(), random(), srandom(), arc4random()几个函数 例子: // Get random number between 0 and 99 int x = arc4random() % 100; // Get ra原创 2012-08-29 17:32:26 · 3150 阅读 · 0 评论 -
iOS应用开发:什么是ARC?
ARC是什么ARC是iOS 5推出的新功能,全称叫 ARC(Automatic Reference Counting)。简单地说,就是代码中自动加入了retain/release,原先需要手动添加的用来处理内存管理的引用计数的代码可以自动地由编译器完成了。该机能在 iOS 5/ Mac OS X 10.7 开始导入,利用 Xcode4.2 可以使用该机能。简单地理解ARC,就是转载 2012-08-31 09:36:19 · 928 阅读 · 0 评论 -
iPhone - 读取工程包中的二进制文件
有时,我们需要将我们的一个二进制文件或字节码文件放置到程序包中,那么怎样去读取它的内容呢?//获取文件路径(注意它是一个全路经)NSString *path = [[NSBundle mainBundle] pathForResource:@"data" ofType:@"bin"];//获取数据 NSData *reader = [NSData dataWithContentsOfF原创 2012-08-24 10:35:14 · 1685 阅读 · 0 评论 -
iPhone 文件结构和文件操作
这篇文章主要是针对沙盒存储方式的文件操作,详文如下:对于一个运行在iPhone得app,它只能访问自己根目录下的一些文件(所谓sandbox - 沙盒).一个app发布到iPhone上后,它的目录结构如下:1、其中得 app root 可以用 NSHomeDirectory() 访问到;2、Documents 目录就是我们可以用来写入并保存文件得地方,一般可通过原创 2012-08-24 10:52:47 · 966 阅读 · 0 评论 -
NSPredicate
简述:Cocoa框架中的NSPredicate用于查询,原理和用法都类似于SQL中的where,作用相当于数据库的过滤取。定义(最常用到的方法):NSPredicate *ca = [NSPredicate predicateWithFormat:(NSString *), ...];Format:(1)比较运算符>,=,可用于数值及字符串例:@"number > 100"原创 2012-10-26 17:26:54 · 60592 阅读 · 8 评论 -
Objective-c 类接口 (@interface) (类定义)
在Objective-c中如何定义一个类呢?我们可以使用下面的格式进行表示:@interface 类名:父类名{ 变量定义;}方法定义;@end;下面给出一个实例:@interface Person: NSObject { NSString* name; int age;}- (NSStri原创 2012-06-19 00:08:59 · 9565 阅读 · 0 评论 -
Objective-c 类的继承 方法重写 方法重载
一、类的继承Objective-c中类的继承与C++类似,不同的是Objective-c不支持多重继承,一个类只能有一个父类,单继承使Objective-c的继承关系很简单,易于管理程序。Objective-c中所有类的父类是NSObject。Objective-c中类的继承例子:@interface Person: NSObject { NSString*原创 2012-07-06 00:19:08 · 20840 阅读 · 0 评论 -
Objective-c Category(类别)
category是Objective-c里面最常用的功能之一。category可以为已经存在的类增加方法,而不需要增加一个子类。类别接口的标准语法格式如下:#import "类名.h"@interface 类名 (类别名)//新方法的声明@end类别实现如下:#import "类名类别名.h"@implementation 类名 (类别名)//新方法原创 2012-07-13 00:19:36 · 1424 阅读 · 0 评论 -
Objective - c 创建二维数组
NSArray _sectionDataStr;_sectionDataStr = [[NSArray alloc] initWithObjects: [NSArray arrayWithObjects:@"Item1", @"Item2", nil], [NSArray arrayWithObj原创 2013-06-12 00:20:32 · 13704 阅读 · 1 评论 -
获取 iOS 设备当前 ip 地址
#include #include #include #include #include #include #include #include #include #include #include #include #include #include //#include "GetAddresses.h"转载 2013-06-04 09:21:23 · 3373 阅读 · 0 评论 -
ios frame、bound和center定义及使用场景总结
frame:指的是视图在父视图的坐标系统中的大小和位置。bound:指的是视图在试图本身的坐标系统中的大小(位置起点是原点)。center:指的是视图在父视图坐标系统中的中心点。frame和bound的关系:如何使用view和bounds转载 2013-06-18 13:58:21 · 3194 阅读 · 0 评论 -
iOS开发7:自动旋转与调整大小
苹果的产品iPad和iPhone都是支持自动旋转的,因而我们写的程序也要支持两种视图:纵向和横向。默认情况下,我们写的程序都是纵向的,就像前边的几个例子中那样。如果运行以前写的程序,当把模拟器旋转,你会发现很不友好,有的控件看不见了。这个时候,自动旋转就显得很有必要了。1、我们先不谈如何实现自动旋转,先讲讲如何让程序知道它支持哪几种旋转。运行Xcode 4.2,新建一个Si转载 2013-06-18 19:52:41 · 3153 阅读 · 0 评论 -
Objectvie-C之 NSString 处理技巧
摘要: NSArray中元素拼接成NSString, NSString抽取子串, NSString比较字符串, NSString改变字符串大小写,NSString搜索子串一、用字符将NSArray中的元素拼接起来1NSArray *array = [NSArray arrayWithObjects:@"hello",@"world",ni转载 2013-07-08 10:01:35 · 1239 阅读 · 0 评论 -
NSInvocation使用示例
一、概述在 iOS中可以直接调用 某个对象的消息 方式有2种第一种方式是使用NSObject类提供的performSelector系列方法还有一种方式就是使用NSInvocation进行动态运行时的消息分发,动态的执行方法,相信大家一定经常使用NSObject类提供的performSelector系列方法,在这里就不再对此进行描述了,今天主要是分享一下使用N转载 2013-06-22 18:14:33 · 649 阅读 · 0 评论 -
IOS高级教程1:处理1000张图片的内存优化
转载请保留以下原文链接:http://my.oschina.net/taptale/blog/91894一、项目需求在实际项目中,用户在上传图片时,有时会一次性上传大量的图片。在上传图片前,我们要进行一系列操作,比如:旋转图片为正确方向,压缩图片等,这些操作需要将图片加载到内存中,下面对内存的使用做详细分析.二、内存分析,非优化我在测试项目中,重复加载了转载 2013-07-09 10:42:34 · 810 阅读 · 0 评论 -
用NSUserDefaults保存和读取程序设置
NSUserDefaults:用来保存应用程序设置和属性、用户保存的数据。用户再次打开程序或开机后这些数据仍然存在。NSUserDefaults可以存储的数据类型包括:NSData、NSString、NSNumber、NSDate、NSArray、NSDictionary。如果要存储其他类型,则需要转换为前面的类型,才能用NSUserDefaults存储。保存数据:-(void)s原创 2013-06-24 11:38:26 · 5885 阅读 · 0 评论 -
CGPoint、CGSize、CGRect and UIView
作者写的很累,转载请注明出处。谢谢!http://blog.csdn.net/iukey/article/details/7083165我一般情况下不会使用interface builder去画界面,而是用纯代码去创建界面,不是装B,而是刚从vi转到xcode不久,不太习惯interface builder而已。当然如果需要我也会使用它。一个东西的存在没有绝对的好与坏,只是存在时间与空间决转载 2013-07-10 11:13:56 · 3209 阅读 · 0 评论 -
如何让IOS应用从容地崩溃
虽然大家都不愿意看到程序崩溃,但可能崩溃是每个应用必须面对的现实,既然崩溃已经发生,无法阻挡了,那我们就让它崩也崩得淡定点吧。IOS SDK中提供了一个现成的函数 NSSetUncaughtExceptionHandler 用来做异常处理,但功能非常有限,而引起崩溃的大多数原因如:内存访问错误,重复释放等错误就无能为力了,因为这种错误它抛出的是Signal,所以必须要专门做Signal处理转载 2013-07-10 14:08:29 · 909 阅读 · 0 评论