objective-C基本知识

预编译指令

1.自己写的头文件最好用双引号,而系统自带的可以用尖括号。

*************************************************

点语法

p.age= 10;

1.不是访问age成员变量,而是调用其方法

2.其他的很多编程语言都有点语法,为了其他编程的程序员可以快速掌握oc,从而添加了点语法

3.编译器在遇到点语法的时候,会自动将之转化为:[p setAge:10];

4.故点语法的本质还是调用方法,而不是访问成员变量(访问成员变量就一种:通过箭头)。

*******************************************

isa指针

在OC中,对于每个实例对象,其中都会有一个isa指针,isa= is a,同一个类创建出来的对象的isa指针是一样的。

它的作用是告诉对象它是哪个类以及它的父类是谁。

这个指针只有在程序运行的时候才看得见(在调试模式的具体对象处能够找到)。

*******************************************

import和include的区别:

  import关键字会对重复引用的文件进行自动省略,而include不会。所以,import能够避免碰到“常见但定位麻烦的重复引用头文件错误”。

  在OC中,我们一般使用import来引用其他头文件。

**********************************

关键字

“@”符号:在OC中表示关键字。

@interface:类声明的开始。

@implementation:类实现的开始。

@end:类声明或者类实现的结束。

夹在@interface和@end之间的即为类的声明,而夹在@implementation和@end之间的即为类的实现。

**************************

在OC中,self表示对象自己,它和C++中的this含义相近。super表示父类对象。

************************

继承和重写

类库之间的继承:

cocoa的框架中,大部分的类库都是继承自NSObject,而类库之间还存在各种各样的父子关系,比如所有的控件类(UIControl、NSControl)都是继承自响应者类(UIResponder、NSResponder);所有的多功能视图(tableview/scrollview/webview等)都是继承自视图类(UIView、NSView)等。如果我们想找类库的继承关系,我们可以在开发文档中找到。

************************

分类(Category)

************************

协议(Protocols)和代理(Delegation)

1.代理的引入真正意义上完全实现MVC的程序结构框架。

2.协议是对类的实现进行规约的一套标准,可以保证多个承诺实现协议的类的接口一致性。

时间: 2024-10-05 04:58:39

objective-C基本知识的相关文章

【基础知识】列一下一个.Net WEB程序员需要掌握的知识

基础部分 C# 基础语法 OOP的概念,面向对象的理解 继承 封装 多态 ASP.NET MVC (Web Form 用的越来越少,如果你不熟悉,可以不看) JavaScript 基础语法 如何在HTML里使用JavaScript 常用Dom 操作 SQL Server 常用T-SQL 增删改查 SQL Managment studio 常用操作 jQuery 常用API HTML HTML 所有标签的语义,什么时候用什么标签 CSS 常用CSS的知识,如何在HTML使用 常用的布局 Boots

iOS面试必备-iOS基础知识

近期为准备找工作面试,在网络上搜集了这些题,以备面试之用. 插一条广告:本人求职,2016级应届毕业生,有开发经验.可独立开发,低薪求职.QQ:895193543 1.简述OC中内存管理机制. 答:内存管理机制:使用引用计数管理,分为ARC和MRC,MRC需要程序员自己管理内存,ARC则不需要.但是并不是 所有对象在ARC环境下均不需要管理内存,子线程和循环引用并不是这样.与retain配对使用的是release,retain代表引用计 数+1,release代表引用计数-1,当引用计数减为0时

Objective C (iOS) for Qt C++ Developers(iOS开发,Qt开发人员需要了解什么?)

Qt/C++开发人员眼中的Obj-C 对于我们第一次自己定义iOS应用来说,对于来自Qt/C++开发人员来说,我不得不学习Objective-C相关语法与知识 为了让读者可以更easy理解这篇博客的内容,我将描写叙述诸多我所学到的东西.这将很多其它的是大脑转存而不是单一的教程 ,所以我仍然希望这将对你非常有帮助,我将首先写编程语言的差异,然后再写关于类库的差异 1.Objective C vs C vs C++ 类似于C++,Obj-c是C语言的一个超集(这不是100%正确的,可是一个足够好的语

刨根问底Objective-C Runtime

http://chun.tips/blog/2014/11/05/bao-gen-wen-di-objective%5Bnil%5Dc-runtime-(2)%5Bnil%5D-object-and-class-and-meta-class/ 刨根问底Objective-C Runtime(1)- Self & Super 刨根问底Objective-C Runtime(2)- Object & Class & Meta Class 刨根问底Objective-C Runtime(

iOS/OS X线程安全的基础知识

处理多并发和可重入性问题,是每个库发展过程中面临的比较困难的挑战之一.在Parse平台上,我们尽最大的努力保证你在使用我的SDKs时所做的操作都是线程安全的,保证不会出现性能问题. 在这篇文章中我们将会复习一些关于如何以简洁.安全.干净的方式处理多并发和竞争条件下的基本概念. 首先,在进入细节讨论之前,我们先定义以下概念: 线程:它是操作系统执行的一个上下文程序,并且可以同时 存在多个线程. 并发性:在程序运行过程中,多个线程执行时共享同一资源的现象. 可重入性: 通过显式递归,软件/硬件中断,

为React Native开发写的JS和React入门知识

来自Leo的原创博客,转载请著名出处 我的stackoverflow 前言 想来想去,还是需要写一篇文章来介绍下JavaScript和React的基本知识.最初开发ReactNative的时候,完全没接触过React,大学那会简单学了点JS.毕业后一直在某五百强外企上班.做的东西也乱七八糟的,搞过大数据,搞过物联网,不过看我博客的同学应该知道,我对iOS和Android还是比较喜欢的.所以,博客都是写的都是移动端的东西.好像扯的有点多了,本文的目的就是为了那些JS和React小白提供一个快速入门

Deep Reinforcement Learning 基础知识(DQN方面)

Introduction 深度增强学习Deep Reinforcement Learning是将深度学习与增强学习结合起来从而实现从Perception感知到Action动作的端对端学习的一种全新的算法.简单的说,就是和人类一样,输入感知信息比如视觉,然后通过深度神经网络,直接输出动作,中间没有hand-crafted工作.深度增强学习具备使机器人实现完全自主的学习一种甚至多种技能的潜力. 虽然将深度学习和增强学习结合的想法在几年前就有人尝试,但真正成功的开端是DeepMind在NIPS 201

Deep learning:一(基础知识_1)

前言: 最近打算稍微系统的学习下deep learing的一些理论知识,打算采用Andrew Ng的网页教程UFLDL Tutorial,据说这个教程写得浅显易懂,也不太长.不过在这这之前还是复习下machine learning的基础知识,见网页:http://openclassroom.stanford.edu/MainFolder/CoursePage.php?course=DeepLearning.内容其实很短,每小节就那么几分钟,且讲得非常棒. 教程中的一些术语: Model repr

Objective C (iOS) for Qt C++ Developers(iOS开发,Qt开发者需要了解什么?)

Qt/C++开发者眼中的Obj-C 对于我们第一次自定义iOS应用来说,对于来自Qt/C++开发者来说,我不得不学习Objective-C相关语法与知识 为了让读者能够更容易理解这篇博客的内容,我将描述诸多我所学到的东西.这将更多的是大脑转存而不是单一的教程 ,所以我仍然希望这将对你很有帮助,我将首先写编程语言的差异,然后再写关于类库的差异 1.Objective C vs C vs C++ 类似于C++,Obj-c是C语言的一个超集(这不是100%正确的,但是一个足够好的语句来理解它),您将使

转载 Deep learning:一(基础知识_1)

前言: 最近打算稍微系统的学习下deep learing的一些理论知识,打算采用Andrew Ng的网页教程UFLDL Tutorial,据说这个教程写得浅显易懂,也不太长.不过在这这之前还是复习下machine learning的基础知识,见网页:http://openclassroom.stanford.edu/MainFolder/CoursePage.php?course=DeepLearning.内容其实很短,每小节就那么几分钟,且讲得非常棒. 教程中的一些术语: Model repr