1.        #import 跟#include、@class有什么区别?#import<> 跟 #import”"又什么区别?

1>  #import和#include都能完整地包含某个文件的内容,#import能防止同一个文件被包含多次

2>  @class仅仅是声明一个类名,并不会包含类的完整声明;@class还能解决循环包含的问题

3>  #import <> 用来包含系统自带的文件,#import “”用来包含自定义的文件

2.        属性readwrite,readonly,assign,retain,copy,nonatomic 各是什么作用,在那种情况下用?

1>  readwrite:同时生成get方法和set方法的声明和实现

2>  readonly:只生成get方法的声明和实现

3>  assign:set方法的实现是直接赋值,用于基本数据类型

4>  retain:set方法的实现是release旧值,retain新值,用于OC对象类型

5>  copy:set方法的实现是release旧值,copy新值,用于NSString、block等类型

6>  nonatomic:非原子性,set方法的实现不加锁(比atomic性能高)

3.        OC中创建线程的方法是什么?如果指定在主线程中执行代码?如何延时执行代码?

1>   创建线程的方法

  • NSThread
  • NSOperationQueue和NSOperation
  • GCD

2>   主线程中执行代码

  • [self performSelectorOnMainThread: withObject: waitUntilDone:];
  • [self performSelector: onThread:[NSThread mainThread] withObject: waitUntilDone:];
  • dispatch_async(dispatch_get_main_queue(), ^{

});

3>   延时执行

  • double delayInSeconds = 2.0;

dispatch_time_t popTime = dispatch_time(DISPATCH_TIME_NOW,

(int64_t)(delayInSeconds * NSEC_PER_SEC));

dispatch_after(popTime, dispatch_get_main_queue(), ^(void){

});

  • [self performSelector: withObject: afterDelay:];
  • [NSTimer scheduledTimerWithTimeInterval: target: selector: userInfo: repeats:];

02-C与OC语言的一些小知识的更多相关文章

  1. C语言的一些小知识

    注:本文讨论的"C语言"为GNU C,而非ANSI C 标准库 语法 switch语句中的case关键词可以放在任何地方 switch (a) { case 1:; if (b== ...

  2. c语言结构体小知识

    引自:http://c.biancheng.net/cpp/html/88.html 结构体在内存中是连续存储的 struct stu{ char *name; //姓名 int num; //学号 ...

  3. ios学习笔记图片+图片解释(c语言 oc语言 ios控件 ios小项目 ios小功能 swift都有而且笔记完整喔)

    下面是目录其中ios文件夹包括了大部分ios控件的介绍和演示,swift的时完整版,可以学习完swift(这个看的是swift刚出来一周的视频截图,可能有点赶,但是完整),c语言和oc语言的也可以完整 ...

  4. swift调用oc语言文件,第三方库文件或者自己创建的oc文件——简书作者

    Swift是怎样调用OC的第三方库的呢?请看下面详情: 情况一: 1.首先打开Xcode,iOS->Application->Single View Application, 选Next. ...

  5. OC语言-02-OC语言-基础知识

    一.基础语法 1> OC语言和C语言 C语言是面向过程的语言,OC语言是面向对象的语言 OC语言继承了C语言,并增加了面向对象的思想 以下内容只介绍OC语言与C语言的不同之处 2> 关键字 ...

  6. iOS - OC 语言新特性

    前言 相对于 Java,OC 语言是一门古老的语言了,而它又是一门不断发展完善的语言.一些新的编译特性,为 OC 语言带来了许多新的活力.在 Xcode7 中,iOS9 的 SDK 已经全面兼容了 O ...

  7. oc语言学习之基础知识点介绍(二):类和对象的进一步介绍

    一.类.对象在内存中的存储 /* 内存分区: 栈:局部变量 堆:程序员自己写代码申请开辟的 程序员自己维护,编译器现在帮我们自动优化了,它在合适的给我们加上了释放空间的语句,所以我们现在写的对象不会造 ...

  8. OC语言的面向对象—类和对象、方法

    1. 面向对象和面向过程思想 OC是面向对象的,C是面向过程的.面向对象和面向过程只是解决问题的两种不同思想 1. 面向对象和面向过程的区别 1) 以用电脑听歌为例子 a) 面向过程 ➢ 打开电脑 ➢ ...

  9. OC语言(一)

    一.概述 1.基本上所有关键词@开头 2.字符串以@开头,如@"Hello" 3.基本数据类型 char int float double BOOL(YES\NO) 4.空为nil ...

随机推荐

  1. CNN笔记:通俗理解卷积神经网络【转】

    本文转载自:https://blog.csdn.net/v_july_v/article/details/51812459 通俗理解卷积神经网络(cs231n与5月dl班课程笔记) 1 前言 2012 ...

  2. MysQL使用一与Python交互

    与python交互 在熟练使用sql语句的基础上,开始使用python语言提供的模块与mysql进行交互 这是我们在工作中大事要做的事 先学会sql是基础,一定要熟练编写sql语句 安装引入模块 安装 ...

  3. OGNL与ValueStack(VS)-N语法top语法(转)

    N语法[0]:<s:property value="[0]"/><br> N语法[1]:<s:property value="[1]&quo ...

  4. CentOS 7 Fail2ban防暴力破解

    1.安装 yum install epel-release -y yum install fail2ban fail2ban-systemd -y 2.配置 //新建配置 vim /etc/fail2 ...

  5. nagios监控3306端口

    1.修改 /usr/local/nagios/etc/objects/commands.cfg  添加一个服务名 # check port define command{ command_name c ...

  6. oracle in语句的坑

    oracle 的in语句最多只能有1000条数据,超出,sql报错.

  7. css 固定宽度,自动换行

    max-width: 200px; display: block; word-break: break-all:

  8. IntelliJ IDEA 2017 主题安装及配置

    主题哪里下的? 网站:http://www.riaway.com/ 主题怎么安装? 然后选择文件,找到下载的主题,按步骤,重启之后即可使用: 主题如何配置? 以下所有配置基于 IntelliJ IDE ...

  9. 理解OpenID和OAuth的区别

    在项目开发中,我们经常说授权认证,经常把他们放到一起去描述,那两者在本质上是有区别的,OpenID和OAuth就是我们说的认证和授权. OpenID:Authentication 认证 OAuth : ...

  10. IdentityServer4在Asp.Net Core中的应用(一)

    IdentityServer4是一套身份授权以及访问控制的解决方案,专注于帮助使用.Net 技术的公司为现代应用程序建立标识和访问控制解决方案,包括单点登录.身份管理.授权和API安全. 下面我将具体 ...