关闭

NSString属性什么时候用copy,什么时候用strong?

们在声明一个NSString属性时,对于其内存相关特性,通常有两种选择(基于ARC环境):strong与copy。那这两者有什么区别呢?什么时候该用strong,什么时候该用copy呢?让我们先来看个例子。 示例 我们定义一个类,并为其声明两个字符串属性,如下所示: 1 2 3 4 @interface TestSt...
阅读(196) 评论(0)

Objective-C Runtime入院第一天

(一)[self class] 与 [super class] 下面代码输出什么? @implementation Son : Father - (id)init { self = [super init]; if (self) { NSLog(@"%@", NSStringFromClass([self class])); N...
阅读(126) 评论(0)

iOS多线程-各种线程锁的简单介绍

demo下载 建议一边看文章,一边看代码。 声明:关于性能的分析是基于我的测试代码来的,我也看到和网上很多测试结果有所不同,所以性能分析只作为参考,仅代表测试代码表现,不代表真实情况。同时我会基于我的代码尽量让性能测试更精准。 线程安全是怎么产生的 常见比如线程内操作了一个线程外的非线程安全变量,这个时候一定要考虑线程安全和同步。 - (void)getIam...
阅读(166) 评论(0)

assign vs weak, __block vs __weak

在objective-c中,类中的全局变量经常使用如下的方式申明。 @property(nonatomic(1),strong(2))UIImageView *imageView; 其中的1,2处是对此变量的一些属性申明。有以下几种 strong  weak assign strong 和 weak 是在arc后引入的关键字,strong类似于retain,引用时候会引用计算+1,...
阅读(103) 评论(0)

最新版SDWebImage的使用

我之前写过一篇博客,介绍缓存处理的三种方式,其中最难,最麻烦,最占内存资源的还是图片缓存,最近做的项目有大量的图片处理,还是采用了SDWebImage来处理,但是发现之前封装好的代码报错了。研究发现,是我用了新版的SDWebImage,好多方法都变了。 现在把代码贴出来,供大家参考。尤其是新手,看完这篇博客,图片缓存so easy。最后有demo供大家下载,先学习。 第一步,下载SDW...
阅读(233) 评论(0)

iOS之imageView的图片不变形,居中

默认的应该是图片充满整个UIimageView,那样子就老搞得图片变形什么的 imageView.contentMode = UIViewContentModeCenter; 可以保证图片不被拉伸还居中,随意设置UIimageView的大小都美美哒 UIViewContentModeCenter是uiview的属性UIViewContentMode的枚举值之一, 过了大学四级的应该都知...
阅读(741) 评论(0)

UIView设置圆角、边框和阴影

我们经常需要对view进行圆角设置,有些view是通过设置属性来设置圆角,一般需要用修改view的layer属性。 1、直接通过已有属性设置圆角 对于UIButton、UITextField等,可以通过对已有属性的设置来显示圆角。 UIButton * button = [UIButton buttonWithType:UIButtonTypeRoundedRect];  ...
阅读(245) 评论(0)

AutoLayout 使用之代码实现(VFL)

一、什么是VFL?      VFL是 Visual format language (可视格式语言)的缩写,是Apple针对 AutoLayout 设计的一种语言。通过VFL,我们能在代码中灵活的使用AutoLayout而做到真正的不受设备控制! 二、VFL的图形表示 先看一个图形: 它代表了有两个button ,cancel 和 accept,他们的位置关系是左右相隔一...
阅读(179) 评论(0)

OC和Swift混编

一、OC项目里面使用Swift文件 1、在OC项目里面添加一个swift类 创建一个swift类,Language选择swift,点击next,这是Xcode会提示如下图所示: pic-1.png 这是因为Swift和OC进行混编的时候需要一个中间的桥接文件,桥接文件中需要导入OC类的头文件。 如果你点击“Create Bridging Heade...
阅读(195) 评论(0)

轻松几步搞定CocoaPods修复10.11不能安装问题

一: 首次安装 更新gem 1、 sudo gem update --system 更新ruby的软件源(仅限xcode 8一下,大于xcode8直接跳过第3.1、3.2) 2、gem sources --remove https://rubygems.org/ 2.1 gem sources 为 https://gems.ruby-china.org/ ...
阅读(347) 评论(0)

cocoa pods 升级遇到的问题

1. cocoa pods 升级遇到的问题 运行 sudo gem update --system 报错 Updating rubygems-update ERROR: While executing gem ... (Errno::EPERM) Operation not permitted - /usr/bin/update_rubygems 原因:brew更新或重装的...
阅读(111) 评论(0)

新版 cocoapod安装和使用 , 安装中出现的错误及解决方案

1.mac系统已经默认安装好Ruby环境,如果你不确定自己系统中是否有Ruby的,可以在终端中输入命令行:ruby -v查看当前ruby版本 如果ruby版本较低,可以通过rvm对Ruby进行升级 1)安装 ram RVM:Ruby Version Manager,Ruby版本管理器,包括Ruby的版本管理和Gem库管理(gemset) $curl -Lget....
阅读(826) 评论(0)

mac 使用git

提起github相信大家都不会陌生,在这里就不再赘述了。作为开源代码库以及版本控制系统,使用好了确实会非常受益,再说的势利点,你找工作时给面试官说你经常维护自己的技术博客和github,相信你给他的印象会好很多。      windows底下如何使用github,很多好心人都已经给了非常详细的解决方案,你只需问下度娘,她会帮你解决,这里对于windows底下的使用我也就不再赘述了。这里主要讲讲如...
阅读(1133) 评论(0)

Carthage使用心得-让自己的项目支持Carthage

作为一个新时代的程序员,与时俱进(自以为)是我们的本职工作,作为程序员的我们更是要不停的学习新的知识.   依稀记得我刚开始接触iOS的时候,使用三方框架时,那被各种添加framework和各种工程配置所支配时的恐惧.举个栗子,在我初学时,我们需要用到FMDB这个框架,那么在当时,我们需要拷贝FMDB(是的,当时直接就是从教我的那个人那里拷的),然后手动拖入到工程中,然后运行...duang...
阅读(712) 评论(0)

iOS中pch文件的应用

今天写项目要用到全局变量,第一反应就想到了pch文件这个东西。 pch文件是一个标准的预编译头文件(Precompiled Header)。在Xcode6之后如果我们要使用pch文件,那就必须要自己手动去创建它。 下来我就把我自己创建pch文件的过程记录下来,有需要的可以看看! 首先我们要手动去创建pch文件 1.在项目的Supporting Files或者项目其它位置新建文件 ...
阅读(191) 评论(0)
291条 共20页1 2 3 4 5 ... 下一页 尾页
    个人资料
    • 访问:174820次
    • 积分:2549
    • 等级:
    • 排名:第15811名
    • 原创:34篇
    • 转载:254篇
    • 译文:3篇
    • 评论:3条