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. SQL Server-深入剖析统计信息

    转自: http://www.cnblogs.com/zhijianliutang/p/4190669.html   概念理解 关于SQL Server中的统计信息,在联机丛书中是这样解释的 查询优化 ...

  2. C# 随机数生成避免重复

    public string GetMsgID() { Random rand = new Random((int)DateTime.Now.Ticks); string szRand = rand.N ...

  3. codeforce AIM tech Round 4 div 2 B rectangles

    2017-08-25 15:32:14 writer:pprp 题目: B. Rectangles time limit per test 1 second memory limit per test ...

  4. tcpdump抓包笔记

    抓取指定端口的数据包 并保存文件,用wireshark分析 tcpdump -Ans 4096 -i any port 8080 -w ../mpass.cap 抓取指定端口和指定ip的数据包 并保存 ...

  5. 关于javascript以及jquery如何打开文件

    其实很简单, <input type="file" id="file" mce_style="display:none"> 这个 ...

  6. php调用mysql存储过程

    MYSQL存储过程 原文链接:http://blog.sina.com.cn/s/blog_52d20fbf0100ofd5.html 一.存储过程简介(mysql5.0以上支持) 我们常用的操作数据 ...

  7. 安装webpack命令环境

    1.通过cnpm安装webpack命令环境,如图 2.安装完后查看webpack的版本,如图

  8. angularjs定时任务的设置与清除

    人们似乎常常将AngularJS中 的$timeOut()  $interval()函数看做是一个内置的.无须在意的函数.但是,如果你忘记了$timeOut()$interval()的回调函数将会造成 ...

  9. 使用Bind读取配置到C#的实例

    在之前的一篇二级域名绑定的文章<.Net Core 二级域名绑定到指定的控制器>中,有一个小的地方是关于读取Json文件的配置信息的,当时是用了读取文件流的方式,一直以来觉得该方法太Low ...

  10. Wannafly挑战赛14E无效位置

    https://www.nowcoder.com/acm/contest/81/E 给一个1-base数组{a},有N次操作,每次操作会使一个位置无效.一个区间的权值定义为这个区间里选出一些数的异或和 ...