1. 关于Objc中函数调用类比

[_lblHelloWorld setHidden:![_lblHelloWorld isHidden]];

类比为: _lblHelloWorld.setHidden(!(_lblHelloWorld.isHidden()));

Tip: objc中的boolean值为YES和NO,而不是True or False

-(void) helloWorld:(BOOL)isHelloWorld{}

类比为: public void helloWorld(bool isHelloworld){}

Tip: 前面带有减号(-)的方法为实例方法,必须使用类的实例才可以调用。对应的有+号,代表类的静态方法,不需要实例化即可调用

2. 消息:向对象发送消息。

消息是iOS的运行环境特有的几只,和C++和Java上类类似,但机制上有很大的差别。

[object message:param1 withParameter:param2]

NSString *string;

string = [[NSString alloc] initWithString:@“Hello”];

类比为:

object.message()

object.message(param1,param2)

string *str;

string = new string(“Hello”);

3. import方法

#import “Class.h”

#import <Class.h>

#import <director/Class.h>

和C下的include方法相似

4. Property 和 Synthesize

Property定义:@property声明用于自动创建property属性变量的getter和setter

Synthesize定义:@Synthesize声明实现了property属性变量的geetter和setter

例如:

在interface: @property dataType variableName

在implementation: Synthesize variableName

5. 头文件中的方法

-(returnType)method

-(returnType)method:(dataType)param1

-(returnType)method:(dataType)param1 withParam:(dataType)param2

类比为:

returnType method()

returnType method(param1)

retrunType method(param1,param2)

6. 关于self:指向自己的指针

[self method];

类比为: self.method();

7. 继承关系和接口实现

ClassA:PraentA

ClassA:PraentA<Protocol>

ClassA <Protocol>

类比为:

ClassA extends ParentA

ClassA extends ParentA implements interface

ClassA implements interface

8. 空指针

id obj = nil;

NSString *hello = nil;

nil相当于java里的null

9.id:objective-c中的id和C++里的(void*)类似

Objective-C与C style语言的简单类比的更多相关文章

  1. 李洪强漫谈iOS开发[C语言-042]-简单计算器

    李洪强漫谈iOS开发[C语言-042]-简单计算器

  2. 谁说C语言很简单?

    前两天,Neo写了一篇<语言的歧义>其使用C语言讨论了一些语言的歧义.大家应该也顺便了解了一下C语言中的很多不可思异的东西,可能也是你从未注意到的东西. 是的,C语言并不简单,让我们来看看 ...

  3. Linux 用C语言实现简单的shell(2)

    不知不觉两周没有发文了,因为“一万美金的福特奖学金答辩”,ACM比赛,网络论文阅读和网络大作业一大堆事把时间冲散了,所以先写一篇博文补上之前一坑. 之前发了一篇关于linux 用C语言实现简单shel ...

  4. Java语言实现简单FTP软件------>FTP软件主界面的实现(四)

    首先看一下该软件的整体代码框架                        1.首先介绍程序的主入口FTPMain.java,采用了一个漂亮的外观风格 package com.oyp.ftp; im ...

  5. Java语言实现简单FTP软件------>源码放送(十三)

    Java语言实现简单FTP软件------>FTP协议分析(一) Java语言实现简单FTP软件------>FTP软件效果图预览之下载功能(二) Java语言实现简单FTP软件----- ...

  6. Java语言实现简单FTP软件------>上传下载管理模块的实现(十一)

    1.上传本地文件或文件夹到远程FTP服务器端的功能. 当用户在本地文件列表中选择想要上传的文件后,点击上传按钮,将本机上指定的文件上传到FTP服务器当前展现的目录,下图为上传子模块流程图 选择好要上传 ...

  7. C语言,简单计算器【上】

    由于工作需要最近在研究PHP扩展,无可避免的涉及到了C语言.从出了学校以后C语言在实际工作中还没有用到过,所以必须要先进行一点复习工作.个人认为对于熟悉一样东西说最好的方法是上手实践.于是便想起了当时 ...

  8. 用c语言实现简单的五子棋

    用c语言实现简单的五子棋 这个小游戏是从零开始的实现的,框架灵感来自于小游戏<走迷宫>. 游戏代码配置: 二维数组+简单逻辑+getch读取键盘+windows函数(刷屏,改颜色,改窗口大 ...

  9. 008_用go语言实现简单的冒泡排序

    冒泡排序是各个语言中的基本排序算法,本次我们用go语言实现简单的冒泡排序 package main import "fmt" // [13,10,5,7,2] // [10,13, ...

随机推荐

  1. mysql convert

    SELECT id,boshidianshu,boshidianshu_shuzi,CONVERT(REPLACE(boshidianshu, '个', ''),SIGNED) aaa from lg ...

  2. Spring----->projects----->Spring Boot

    1.概述:(about Spring Boot) Spring boot是在spring framework的基础上搭建起来的一个基本项目,该项目中已经集成了spring框架下的若干模块以及sprin ...

  3. 第三十三章 metrics(1) - graphite搭建 + whisper存储模式 + 高精度向低精度聚合方式 + 集成StatsD + 集成grafana

    组件介绍: carbon:Carbon实际上是一系列守护进程,组成一个Graphite安装的存储后端.这些守护进程用一个名为Twisted的事件驱动网络引擎监听时间序列数据.Twisted框架让Car ...

  4. ZERO 笔试

    1.大多考到了 计算机网络 tcpip  和  操作系统 多线程的知识  直接 懵逼 2.  考到了 递归的全排列 #include<iostream> using namespace s ...

  5. Java中字符串比较时==和equals的区别

    ==是比较两个字符串引用的地址是否相同,即是否指向同一个对象,而equals方法则比较字符串的内容是否相同. 例如String a = "abc"; String b = &quo ...

  6. svc6 控制台程序利用SoapToolkit3.0调用WebService

    1. 首先要安装SoapToolkit3.0安装包并安装(我的安装目录为:C:\Program Files\Common Files) 2. 新建vc控制台程序(空项目),项目名称:WinConsol ...

  7. C#中不同的线程对控件的更改

    .net 不允许跨线程个性其它线程创建的控件. 要想实现这个功能就需要用 InvokeRequired 检查是不是由该线程创建的控件,如果是直接操作,如果不是则 用Invoke 添加一个委托再加上参数 ...

  8. nginx配置文件nginx.conf超详细讲解

    #nginx进程,一般设置为和cpu核数一样worker_processes 4;                        #错误日志存放目录 error_log  /data1/logs/er ...

  9. FMDB基本应用

    1.打开数据库 #import "ViewController.h" #import "FMDB.h" @interface ViewController () ...

  10. 复利test

    因为上节课老师有给我们讲了单元测试的概念及其基本操作,我就对我之前的复利计算器进行了改进和测试.因为从控制台的简单输入输出对单元测试来说不够完善,便参考了其他同学的优秀编程又重新写了一个复利计算器的框 ...