objective-c感悟(一)oc简介与常用类型
来源:互联网 发布:好用的外文数据库 编辑:程序博客网 时间:2024/05/15 23:50
objective-c是在c的基础上设计的一门面向对象的语言,它可以兼容c的语法,因为c的语法是它的一部分。xcode中.m文件只能使用oc,把名称改成.mm就可以进行oc与c++的混合编程了。要注意的是它们之间只能进行类跟对象的方法调用,不能直接在类的声明中声明另一个语言中类的对象,不然编译报错。
cocoa是苹果的一个开发框架,包含了许多个框架在里面。fundation框架是最基本框架,可以用于Mac os X,也可用于ios,它是在corefoundation基础上实现的,后者用纯c实现。appkit是一Mac os X的一个框架,包含了基本的视图控件。uikit类似appkit,是用于ios的,它们都是在core graphics上实现的,后者是纯c实现。加了core的一般是纯c实现,必进底层东西要求效率,使用c自然不过的了。
objective-c的一些类型如下:
NSString 字符串 NSMultableString 可变字符串
NSArray 数组 NSMultable 可变数组
NSDictionary *dict = [NSDictionarydictionaryWithObjectsAndKeys:@"123",@"key1",@"234",@"key2",nil,@"11111",@"222",nil];
dictionaryWithObjectsAndKeys创建了一个NSDictionary,nil告诉这个函数哪里结束,后面如果再加object:key的话,也是没用的,上面就是一个例子。
NSMutableDictionary *mdict = [NSMutableDictionary dictionary];[mdict setObject:@"gugugu" forKey:@"qinwa"];[mdict setObject:@"jiiji" forKey:@"xiaoji"];for (NSString *key in mdict){NSLog(@"%@:%@", key, [mdict objectForKey:key]);}
NSMutableDictionary 是一个可变的字典类, dictionary方法可以创建一个实例, setObject: forKey是添加一个字典项。 上面for语句使用的是fast enumeration快速枚举,类似javazhongdeforeach。
// 装箱 拆箱 NSNumber *a = [NSNumber numberWithInt:1234]; NSNumber *s = @'d'; NSNumber *i = @1234; NSLog(@"%c", [s charValue]); // NSValue SS sss = {2, 2}; NSValue * v = [NSValue valueWithBytes:&sss objCType:@encode(SS)]; SS pss; [v getValue:&pss]; NSLog(@"%d %d", pss.a, pss.b);
<pre name="code" class="objc">// NSValue int ii = 100; NSValue * v = [NSValue valueWithBytes:&ii objCType:@encode(int)]; int iii; [v getValue:&iii]; NSLog(@"iii:%d ", iii);
NSNumber是对基本类型进行的一个boxing操作。oc并没有提供自动装箱与拆箱操作,不知道未来会不会提供。可以用numberWith[TYPE]来装箱某个类型,[TYPE]Value来进行拆箱。
NSValue是NSNumber的父类,它可以包装一切对象。可以包装结构、类,基本类型也可以。它做的事情就是把对象的每个字节保存起来,@encode是编译器提供的一个命令,可以得到一个字符串,它用来描述一个类型的。
- objective-c感悟(一)oc简介与常用类型
- OC笔记一:Objective-C简介
- Objective-c:OC语言简介、类与对象
- 黑马程序员-----------Objective-C基础-----------OC简介
- OC语言之Objective-C简介
- Objective-C中基本数据烦类型与对象数据类型相互转换的方法(OC中NSString的常用API的基础应用3)
- objective-c感悟(二)内存管理
- 【IOS 开发学习总结-OC-3】objective-c 类型转换
- Objective-C CF和OC之间类型转换
- Objective-c编程概念(一)简介
- OC笔记一:Objective
- 【Objective-C】OC中可变字符串(NSMutableString)常用方法
- 【Objective-C】OC中集合基本概念和常用方法(NSSet)
- [Objective-C]OC中字典基本概念和常用方法
- 【Objective-C】OC基础
- [Objective-c] OC介绍
- objective C程序 C与OC的对比
- 黑马程序员--Objective-C——OC特有语法一
- 正在解析主机,路由器打不开个别网页,已解决
- C语言——文件内容的读取与替换操作
- AndroidStudio 中使用 百度地图 <五> 百度地图的搜索附近的美食,公交站台等,个人摘要
- 第一次上机实验-2
- MFC扩展DLL导出对话框类的实现---VS2005
- objective-c感悟(一)oc简介与常用类型
- nsset
- Java正则表达式简单介绍
- 人生是一个不断解决问题的过程
- 学习技术的三部曲:WHAT、HOW、WHY
- python中控制逻辑语句
- 百度地图设置缩放级别 ,只需一句话
- 互联网广告综述之点击率系统
- iOS的网络配置info.plist