Xcode-01ARC

1.nonatomic

2.assign

3.strong

4.weak

5.instancetype

使部分类在编译时不使用ARC

-(可以让这们支持 retain release retainCount)

项目文件 - Build Phases - 找到.m文件双击 -加入Flags   --->>  -fno-objc-arc

让项目中的指定文件支持ARC 使用 -f-objc-arc    (-f的意思是Flags)

将非ARC的项目转换为 ARC

Edit - Convert - To Objcetive-C ARC

ARC-处理循环引用

使用 weak 弱指针   一个用strong指针 一个用weak指针

Block (和函数类似-保存一段代码)

函数是在编译前就要将代码写好

void test()
{
     NSLog(@“—————");
}

block是在程序运行时保存一段代码  指针的标识符是 *   block的标识符是 ^ 也可以有型参 和 返回值

//定义了一个没有返回值 ,没有形参的 名为 myblock的 block 变量 block也是数据类型

void (^myblock)() = ^{
   NSLog(@“———“);
   NSLog(@“———“);
}; // 注意分号

// 利用block变量调用block内部的代码
my block(); // 调用方式与函数一样

带返回值和形参的 block 接收两个参数 返回两个参数的和

int (^sumblock)(int  , int ) = ^(int a, int b){
   return a+b;
};

int c = sumblock(10,20);
void test3()
{
    int a = 10;
    __block int b = 20;

    void (^block)();

    block = ^{
        // block内部可以访问外面的变量
        //NSLog(@"a = %d", a);

        // 默认情况下,block内部不能修改外面的局部变量
        // a = 20;

        // 给局部变量加上__block关键字,这个局部变量就可以在block内部修改
        b = 25;
    };

    block();
}
时间: 2024-08-08 18:56:11

Xcode-01ARC的相关文章

Xcode 快速开发 代码块 快捷键

Xcode的代码片段(Code Snippets)创建自定义的代码片段,当你重用这些代码片段时,会给你带来很大的方便. 常用的: 1.strong:@property (nonatomic,strong) <#Class#> *<#object#>;2.weak:@property (nonatomic,weak) <#Class#> *<#object#>;3.copy:@property (nonatomic,copy) NSString *<#s

MAC平台下Xcode配置使用OpenCV的具体方法 (2016最新)

1.序言: 1.1 背景 本人小白一枚,不过因为最近在从事机器视觉方面的工作,所以接触到OpenCV. 因为工作需求,本人要在MAC端使用OpenCV实现一些视觉功能,配置环境成了最大的阻碍,网上查了很多相关资料和博客,都因为版本环境问题屡试屡败,不过经历重重尝试,笔者最终还是配置成功并运行了自己的源码.当然成功的关键还是因为笔者站在了巨人的肩膀上,借鉴了很多网上的教程,为了不误导大家配置的过程,参考文章的地址统一放在文章里,望各位大大看见之后能够理解,废话不说进入正题. 1.2 环境说明 如果

xcode模拟器不显示键盘解决方案

当我们使用Xcode进行开发的时候,并不是所有的时候都需要将代码运行在iPhone,有时候模拟器就可以解决这些问题, 但是当你使用模拟器的时候会发现,在TextFiled中输入信息时,如果你是用模拟器上的键盘进行操作,OK没问题, 但是当你是用键盘输入信息的话,那么你会发现模拟器上的键盘就不会再显示了 这是因为,xcode默认情况下,使用电脑键盘作为外接键盘,不再弹出虚拟键盘. 你可以这样做: 运行模拟器,然后 hardware -> keyboard -> connect hardware

[转贴]xcode帮助文档

突然间得到了一台MAC ,这时候不学OC 更待何时学呀?马上找了IOS开发的书和网上的帖子看,最近在开源力量那里看了TINYFOOL的入门讲座,讲的都很虚,可能时间不够吧,也没看到什么例子呀,什么的,很蜻蜓点水,点到即止,BUT ANYWAY,在开源IOS 入门讲座完了就突然得到了一台MAC,不知道是不是上天的安排,还是学一下OC吧,毕竟水果的支持时间是有限的,一般我估计3年后水果不再支持这款MAC,到时想学也不够条件了,我们这种吊丝真的经常被生活所迫.在网上找到一个文章教人看XOCDE的帮助文

使用xcode实现IM的那些坑

想用xcode基于XMPP实现即时通讯,mac必须安装openfire(xmpp服务器),mysql(本地数据库,用于配置openfire),JDK(打开openfire必须本地具备java环境),xmpp客户端(主要用于测试,本文以adium为例) 1.mysql的安装和配置 直接oracle官网上下载最新的mysql for mac,next安装 配置:http://www.cnblogs.com/xiaozhiblog/p/5664521.html(推荐原文链接) 终端输入:mysql -

Xcode文档安装

1.Xcode文档在线安装 打开Xcode,首选项 点击DownLoads下载文档 2.Xcode文档离线安装 找到备份的文档 com.apple.adc.documentation.AppleiOS8.0.iOSLibrary.docset 找到DocSets目录 /Applications/Xcode.app/Contents/Developer/Documentation/DocSets 拷贝文件到该目录 退出重新打开Xcode 如果还不行,/Users/你的用户名/Library/Dev

xcode 版本控制推送代码到远程git仓库的步骤

一 代码推送到远程git仓库 1.在git中建立一个下项目(假设项目名称为->Mygit) 2.在xocde上新建一个测试项目(假设项目名称为GitTest) 3.打开电脑终端: 1)首先利用终端命令进入xcode新建的测试项目(GitTest)的目录中 2) echo "# Mygit" >>README.md  回车 3) git init 回车 4) git add READEM.md 回车 5) git commit -m "commit init&

iOS - OC &amp; Xcode

一.入门 1.1 iOS模版介绍 1.2 简单工程项目 1.3 设置App启动的设备方向 1.4 Xcode界面介绍 1.5 快速查找文件 1.6 快速更改同名变量 1.7 将代码提取为方法 1.8 代码编辑的自动补全 1.9 代码语法颜色设置 1.10 集中输出日志的方式 1.11 代码的debug调试 1.12 App的沙箱文档结构 1.13 App图标设置 1.14 App的启动图片设置 二.视图与手势 2.1 UIView视图的基本使用 2.2 UIView视图的层次关系 2.3 UIV

sqlite使用xcode编译

使用xcode去开发makefile的project(Building Makefile Projects With Xcode) 新建工程,template选择 external Build System ? 添加所有的源码到工程中. 新建一个target,template选择 external Build System 产生makefile文件 执行源文件夹的configure命令,会产生makefile,供xcode编译时使用. ? 修改target的directory 保证可以找到mak

Could not locate device support files.《This iPhone 5 (Model A1429) is running iOS 7.0.4 (11B554a), which may not be supported by this version of Xcode.》-b

原因:Xcode8 不支持 iOS7 解决方法: 在“/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport”里列出了Xcode支持的设备 下载Xcode支持的设备: https://pan.baidu.com/s/1dFaAqzf 然后真机测试,仍报出信息,那么少年你不要慌 Paste_Image.png 最后: 重启XCode8.