首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
Objective-C
蒙哥卡恩就是我
创建于2023-09-11
订阅专栏
使用 Objective-C 语言开发的技能技巧及心得。
等 1 人订阅
共22篇文章
创建于2023-09-11
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
iOS 如何正确使用 NSTimer
相信做 iOS 开发的童靴对 NSTimer 应该不会陌生,但要想正确使用它,可能会遇到不少的坑。下面我就结合自己项目中遇到的问题,讨论一下 NSTimer 在使用的中我们要避开的那些坑: 坑1:创建
iOS 多线程编程的安全问题
首先我们从属性说起,理解多线程为什么不安全? 多线程共享状态可以共同访问某个对象的属性(property),我们都知道给 property 加上a tomic attribute 之后,一定程度上可以
Objective - C 断言处理
概述 我们在阅读一些优秀的源码时,可能会遇到使用 NSParameterAssert 宏的例子,在AFNetworking/AFURLSessionManager.m 文件中,有这么一个方法,方法的实
iOS -initWithData: encoding: 返回 nil 的解决办法
方法:-initWithData: encoding: 是将一个 NSData 对象转换为 NSString 对象。 有时候,NSData 非空,该方法却返回一个 nil,而不是返回一个 NSStri
iOS 用密钥对数据加密解密
引言 在 iOS App 开发中,我们需要对账户,密码等个人私密信息进行加密处理,从而保证用户信息的安全。那么可以将这些私密信息保存到钥匙串(keychain)中,因为钥匙串的不可见性,可以保证用户私
iOS 如何巧妙解决“一个任务需要等待另外一个任务完成后才可以执行”的问题
看到标题,我想大部分 iOS 开发的童鞋能想到好几种方案。比如下一个网络请求必须依赖上一个网络请求的结果才可以进行,最简单直白的方法是:“同步调用”。这里所说的同步是指,等上一个网络请求任务完成后,直
[转载] iOS Base64 编码
iOS Base64 编码原理及实现,本文来自转载,请转载时表明原文出处,请转载时表明原文出处,请转载时表明原文出处。
iOS 开发之网络检测
概述 iOS 开发中经常要根据实时的网络状况,对 UI 及逻辑做出调整,以提高用户的使用体验。 方案 方案一:使用苹果封装的 Reachability 进行网络检测 如何下载Reachability?
iOS UIView 添加背景图片
Objective-C 中 如何给 UIView 设置一张图片做为背景,本文提供了三种方法,仅供参考。
iOS 开发之 Runtime
Runtime 简介 Runtime 简称运行时,程序在运行过程中都会转成 runtime 的 C 代码执行。 OC 中的一切都被设计成对象,实际上类的本质也是一个对象,在 runtime 中用结构体
iOS block 中使用 self 的那些事
我们在使用 block 的时候,如果在 block 中使用 self 有可能会循环引用,产生内存泄漏的问题。 通常,我们如果遇到这种情况,我们会将 self 转换成 weak automatic 的变
iOS 锁
概述 在开发过程中,使用多线程来可以提高程序运行效率。本文不说多线程,重点说说锁的使用。 什么时候需要用到锁呢? 比如相亲,多少单身狗的痛。你经过七大姑八大姨的介绍,争取到了一个相亲的机会,于是你就屁
iOS 开发之 NSLog 的使用
我们在调试程序时,经常会使用 NSLog 函数打印出一些日志信息。当我们准备发布程序时,则不希望这样的调试日志出现。我们会自定义这个函数,在 debug 的时候,正常打印出我们所需要的内容,但在 re
Objective-C 代码混淆
为了防止他人通过 class-dump 反编译我们的 App 后嵌入恶意代码,我们有必要对源码进行混淆。 究其原理,就是用一个随机的字符串在 App 编译前替换我们需要混淆的关键字,让别人反编译之后无
Objective-C 内存管理
概述 Objective-C 中没有垃圾回收机制,内存管理是依赖对象引用计数器来进行的。 每个对象内部都有一个与之对应的整数(retainCount)叫 “引用计数器”,当一个对象在创建之后它的引用计
Objective-C 枚举的使用
Objective-C 枚举的使用,本文介绍常用的 NS_ENUM 和 NS_OPTIONS 区别和用法。
iOS Objective-C 常见的面试题详解
以下代码运行会存在什么问题: 在 MRC 环境中,调用方法 autorelease 虽然会让 person 实例引用计数减 1,但不是立即减 1。其本质上只是把对象放到离它最近的自动释放池里,当自动释
iOS 多线程的实现方式及应用示例
概述 优点: 把程序中耗时的任务放到后台去处理,如图片、视频的下载等; 充分发挥多核处理器的优势,并发执行让系统运行的更快、更流畅、用户体验更佳。 不足: 大量的线程操作会降低代码的可读性; 大量的线
iOS 空数组的处理
在 iOS 开发过程中,避免不了要从远程请求数据。有时候我们拿到的可能会是一个空得数组(当然返回 nil 的可能性很小)。那么就必要对其进行非空判断,以确保我们项目的稳定性。 假设我们从远程请求到一组
iOS 判断系统版本
方案一 如果只是大致判断是哪个系统版本,上面的方法是可行的,如果具体到某个版本,如 10.0.1,那就会有偏差。我们知道 systemVersion 依旧是10.0。 方案二 有篇博客提到这种方法不靠
下一页