本文主要介绍和C++不同的地方。

1、类的定义:

一个类有两个文件一个.h还有一个.m文件

 #import <Foundation/Foundation.h>

 @interface MyClass : NSObject {
@public
int _a;//公开方法
NSString *_name;
@private
int _b;//私有方法
}
- (void)test; //实例方法
+ (void)static_test;//静态方法
@end

头文件中内容如上。一个类的声明用@interface开头@end结尾。

大括号中间的成员变量,可以表示public和private还有protected。objc的推荐方式是成员变量前面加“_”。

方法分成两种,如果是实例方法,也就是非静态的方法必须以“-”开头,如果是静态方法必须要以“+”开头。

 #import "MyClass.h"

 @implementation MyClass {
int a;
float b; }
- (void)test { } + (void)static_test { } @end

m文件类似c++中的cpp文件,一个文件以@implementation开头以@end结尾。

大括号中间可以声明一些变量,这些变量只能在本文件中使用,有点类似于C的全局静态变量,不过我不明白这个和h文件中的私有变量有什么区别?

2、键值编码

@interface User : NSObject
@property(nonatomic, copy) NSString *name;
@property(nonatomic, copy) NSString *pass; @end
     User *user = [[User alloc] init];
[user setValue:@"jack" forKey:@"name"]; //键值编码
[user setValue:@"" forKey:@"pass"];

类似于java的反射获取成员变量,不过更加方便。

3、类别(category)

 @interface User (u)
-(void) login;
@end
[user login];

类似于的C#的拓展方法。

4、扩展 和类别一样,不过没有()中间的类了

5、委托

 @protocol Mydelegate//协议的声明

 - (void)Fun;

 @end

 @interface ClassA : NSObject {

     id <Mydelegate> delegate;//声明一个委托对象,我们要把事情委托给实现Mydelegate协议的类

 }
@property(assign,nonatomic) id<Mydelegate> delegate; - (void)FunToOther;
@end
 @implementation ClassA {

 }

 - (id)init {

     delegate = [ClassB alloc];
return self; } - (void)FunToOther { [delegate Fun];//将消息发送给委托去处理 } @end
 @implementation ClassB {

 }
-(void) Fun{
NSLog(@"BBBBBBB"); }
@end
 ClassA *a1 = [[ClassA alloc] init];
[a1 FunToOther];

这个就和C#中的委托时一个意思

IOS语言总结的更多相关文章

  1. iOS 语言国际化配置

    所谓的iOS 国际化,就是根据系统不同的语言自动切换. 首先,如图:   创建一个.strings文件,以“Localizable.strings”为文件名:   创建完之后,在XCode的右边勾选自 ...

  2. iOS 语言切换、本地化,国际化

    什么是本地化处理? 本地化处理就是我们的应用程序有可能发布到世界的很多国家去,因为每个国家应用的语言是不一样的,所以我们要把我们的应用程序的语言要进行本地化处理一下. 本地化处理需要处理那些文件? ( ...

  3. iOS语言国际化

    参考网站:http://blog.sina.com.cn/s/blog_7b9d64af0101jncz.html   语言国际化:根据系统不同的语言自动切换 Xcode6.2   一.在不同语言下工 ...

  4. 3分钟实现iOS语言本地化/国际化(图文详解)

    前言 语言本地化,又叫做语言国际化. 是指根据用户操作系统的语言设置,自动将应用程序的语言设置为和用户操作系统语言一致的语言. 往往一些应用程序需要提供给多个国家的人群使用,或者一个国家有多种语言,这 ...

  5. iOS语言本地化,中文显示

    尽管一直相信xcode肯定提供有语言本地化的设置地方,可是一直也没凑着去改.非常多的汉化,还是使用代码去控制:比方navagition的return使用代码改动为"返回"! 近期在 ...

  6. iOS开发——iOS国际化 APP内语言切换

    最近一个一直在迭代的老项目收到一份新的开发需求,项目需要做国际化适配,简体中文+英文.由于项目中采用了storyboard和纯代码两种布局方式,所以国际化也要同时实现.上网查了些资料,实现了更改系统语 ...

  7. iOS - 实现语言本地化/国际化

      实现iOS语言本地化/国际化(图文详解) 前言 语言本地化,又叫做语言国际化.是指根据用户操作系统的语言设置,自动将应用程序的语言设置为和用户操作系统语言一致的语言.往往一些应用程序需要提供给多个 ...

  8. [[其他教程]] 2015年最新版iOS基础视频_最适合初学者入门

    主讲:孙庆虎类型:iOS 适合对象:初学者入门视频介绍:本视频是iOS学院精心录制的免费精华版iOS语言基础视频,该视频特点在于最大程度保证了知识点的完整性,按知识点进行视频录制,每个视频控制在20分 ...

  9. ios 关于文件操作 获取 文件大小

     分类: Apple IPhone2012-06-28 11:31 4664人阅读 评论(0) 收藏 举报 ios语言manager测试c c语言 实现 #include "sys/stat ...

随机推荐

  1. 蚂蚁感冒|2014年蓝桥杯B组题解析第八题-fishers

    蚂蚁感冒 长100厘米的细长直杆子上有n只蚂蚁.它们的头有的朝左,有的朝右. 每只蚂蚁都只能沿着杆子向前爬,速度是1厘米/秒. 当两只蚂蚁碰面时,它们会同时掉头往相反的方向爬行. 这些蚂蚁中,有1只蚂 ...

  2. stm32 pwm 电调 电机

    先上代码 python 树莓派版本,通俗表现原理.stm32 C语言版本在后面 import RPi.GPIO as GPIO import time mode=2 IN1=11 def setup( ...

  3. js键盘按钮keyCode及示例大全

    以功能区分布 以 keycode 编号顺序分布 keycode 0 = keycode 1 = keycode 2 = keycode 3 = keycode 4 = keycode 5 = keyc ...

  4. UVa 12219 公共表达式消除

    https://vjudge.net/problem/UVA-12219 题意: 用表达式树来表示一个表达式. 思路: 用map来记录出现过的子树.如(b,3,6)表示这棵子树的根为b,左子树为编号为 ...

  5. python 获取格式化时间

    #!/usr/bin/python # -*- coding: UTF- -*- import time localtime = time.asctime( time.localtime(time.t ...

  6. DB中字段为null,为空,为空字符串,为空格要怎么过滤取出有效值

      比如要求取出微信绑定的,没有解绑的 未绑定,指定字段为null 绑定的,指定字段为某个字符串 解绑的,有的客户用的是更新指定字段为1,有的客户更新指定字段为‘1’ 脏数据的存在,比如该字段为空字符 ...

  7. queue_01

    A.添加/移除 void queue::push(elemValue); // 尾部添加 viud queue::pop();  // 尾部移除 B.随机存取 C.数据存取 T queue::back ...

  8. [STL][C++]LIST

    参考:http://blog.csdn.net/whz_zb/article/details/6831817 list是双向循环链表,,每一个元素都知道前面一个元素和后面一个元素.在STL中,list ...

  9. URAL 1029 Ministry

    URAL 1029 思路: dp+记录路径 状态:dp[i][j]表示到(i,j)这个位置为止的最少花费 初始状态:dp[1][i]=a[1][i](1<=i<=m) 状态转移:dp[i] ...

  10. Unity 4.x 资源打包

    using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEditor; pu ...