经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
 iOS

去面试腾讯iOS开发要达到咋样的水准?

在风口上时,猪都能飞,但风口过去,当一个就业市场不再那么火爆时,等待的必然是弱者的淘汰。 程序员的职业发展分类 程序员的职业发展大体分为四类。 1)一直钻研技术 说到底打铁还需自身硬,对于程序员这靠技术吃饭的职业,技术当然是至关重要的。 所以,对于那些热爱技术,编码能高潮的技术男这是一...[2021/5/6]

SwiftUI 简明教程之文本与图片

本文为 Eul 样章,如果您喜欢,请移步 AppStore/Eul 查看更多内容。 Eul 是一款 SwiftUI & Combine 教程类 App(iOS、macOS),以文章(文字、图片、代码)配合真机示例(Xcode 12+、iOS 14+,macOS 11+)的形式呈现...[2021/4/19]

IOS Safari keyup不生效如何解决?

H5 项目做了一个 搜索,使用的是keyup触发,后来发现 ios系统不生效, 解决方案:   <input id="master_college" type="text" name="ma...[2021/4/19]

带你解决80%的iOS开发难题

iOS开发已经走过了十多年时间,移动圈子里相继诞生了组件化、热修复、动态化、大前端、Flutter、小程序等热门技术,给人一种“乱花渐欲迷人眼”的感觉。   但是从本质来看,它们背后都是一些通用的底层技术和创新的设计思想。热修复、动态化和大前端的底层技术,都是 JavaScript...[2021/4/19]

Swift 进阶(十二)高级运算符、扩展、访问控制

高级运算符 溢出运算符(Overflow Operator) Swift的算数运算符出现溢出时会抛出运行时错误 Swift有溢出运算符&+、&-、&*,用来支持溢出运算 var min = UInt8.min print(min &- 1) 255, In...[2021/4/12]

Swift 进阶(七)方法、下标

方法(Method) 基本概念 枚举、结构体、类都可以定义实例方法、类型方法 实例方法(Instance Method):通过实例对象调用 类型方法(Type Method):通过类型调用 实例方法调用 cla Car { var count = 0 func...[2021/4/12]

Swift 进阶(九)协议、元类型

协议(Protocol) 基本概念 协议可以用来定义方法、属性、下标的声明,协议可以被结构体、类、枚举遵守 protocol Drawable { func draw() var x: Int { get set } get和set只是声明 var y: Int {...[2021/4/12]

Swift 进阶(十)错误处理、泛型

Swift 进阶(十)错误处理、泛型

错误处理 错误类型 开发过程中常见的错误有 语法错误(编译报错) 逻辑错误 运行时错误(可能会导致闪退,一般也叫做异常) .... 自定义错误 Swift中可以通过Error协议自定义运行时的错误信息 enum SomeError: Error { case illegalArg...[2021/4/12]

Swift 进阶(十一)String、Array的底层分析

Swift 进阶(十一)String、Array的底层分析

String 我们先来思考String变量占用多少内存? var str1 = "0123456789" print(Mems.size(ofVal: &str1)) 16 print(Mems.memStr(ofVal: &str1)) 0x3736353433323...[2021/4/12]

iOS底层原理(二)KVO和KVC

KVO KVO的全称是Key-Value Observing,俗称“键值监听”,可以用于监听某个对象属性值的改变 KVO的使用 可以通过addObserver: forKeyPath:方法对属性发起监听,然后通过observeValueForKeyPath: ofObject: change:...[2021/4/12]

iOS底层原理(三)Category

Category的本质 Category的底层结构 1.我们先给Person增加一个Person+Eat的分类 @interface Person (Eat) <NSCopying, NSCoding> - (void)eat; @property (a ign, nonato...[2021/4/12]

iOS底层原理(四)block

block的本质 1.block的基本用法 不带参数无返回值的block void (^block)(void) = ^{ NSLog(@"Hello, World!"); }; block(); 带参数无返回值的block void (^block)(int, int) = ...[2021/4/12]

iOS-宫格拼图

思路 要求设计思路是类似手持拼图游戏,拼图需求要求有一块为空白版,作为移动方块的预留位置用,通过选择图片后在起初对所有图像方块随机打乱顺序时,发现随机打乱顺序,没办法拼图完成,拼图移动是空白快最临近的上下左右四个图像块的移动,在打乱顺序的时候,也要按照这个算法逻辑实现,才能拼图完成; 另外逻辑...[2021/4/12]

iOS底层原理(五)Runtime(上)

iOS底层原理(五)Runtime(上)

什么是Runtime Objective-C是一门动态性比较强的编程语言,跟C、C++等语言有着很大的不同;Objective-C的动态性是由Runtime API来支撑的 Runtime API提供的接口基本都是C语言的,源码由C\C++\汇编语言编写 方法类型的底层结构 在Cla 对象的...[2021/4/12]

iOS底层原理(五)Runtime(下)

iOS底层原理(五)Runtime(下)

动态方法解析 如果消息发送阶段不成功,那么就会进入到动态方法解析阶段 【第一步】 我们还是先从objc源码里找到函数resolveMethod_locked来看,分别对应着类对象和元类对象做了不同的调用处理 static NEVER_INLINE IMP resolveMethod_lock...[2021/4/12]

iOS底层原理(六)RunLoop

iOS底层原理(六)RunLoop

什么是RunLoop 从字面意思来看,就是运行循环的意思,其实就是在程序运行过程中循环做一些事情 RunLoop的应用范畴 下面几个技术都需要在RunLoop下才能进行 定时器(Timer)、PerformSelector- GCD Async Main Queue- 事件响应、手势识别、界...[2021/4/12]

iOS底层原理(七)多线程(上)

基本概念 进程和线程 进程:进程是指在系统中正在运行的一个应用程序 线程:1个进程要想执行任务,必须得有线程(每1个进程至少要有1条线程) 一个进程(程序)的所有任务都在线程中执行 1个线程中任务的执行是串行的 进程和线程的比较 线程是CPU调用(执行任务)的最小单位 进程是CPU分配资源和...[2021/4/12]

iOS底层原理(七)多线程(中)

多线程的安全隐患 一块资源可能会被多个线程共享,也就是多个线程可能会访问同一块资源;当多个线程访问同一块资源时,很容易引发数据错乱和数据安全问题### 问题案例 卖票和存钱取钱的两个案例,具体见下面代码 @interface BaseDemo: NSObject - (void)money...[2021/4/12]

iOS底层原理(七)多线程(下)

iOS中的读写安全 atomic atomic用于保证属性setter、getter的原子性操作,相当于在getter和setter内部加了线程同步的锁原子性:原子即为最小的物理单位,意味不可再分割;即代码都为一个整体在同一线程进行操作 atomic只是保证setter、getter是线程安全...[2021/4/12]

iOS底层原理(八)内存管理(上)

iOS程序的内存布局 iOS程序的内存布局顺序如以下所示 我们可以通过打印内存地址来验证 int a = 10; int b; int main(int argc, char * argv[]) { @autoreleasepool { static int c...[2021/4/12]

iOS底层原理(八)内存管理(下)

weak指针 我们通常会使用__weak来对变量进行弱引用,被__weak修饰的变量一旦被释放,会自动置为nil __unsafe_unretained的作用也是将变量变成弱指针,但是不同于__weak的原因是修饰的变量释放后并不会置为nil weak的实现原理 我们可以在dealloc析构...[2021/4/12]

Swift 进阶(四)结构体和类

结构体 基本概念 在Swift标准库中,绝大多数的公开类型都是结构体,而枚举和类只占很小一部分 比如Bool、Int、String、Double、Array、Dictionary等常见类型都是结构体 struct Date { var year: Int var month:...[2021/4/6]

Swift 进阶(十七)源码分析

我们通过分析Swift标准库源码来更近一步了解Swift的语法 Array相关 map、filter的源码路径: wift-main tdlib/public/core/Sequence.swift flatMap、compactMap、reduce的源码路径: wift-main tdli...[2021/4/6]

[iOS]dispatch_after()中self和weakself的使用

[iOS]dispatch_after()中self和weakself的使用

苹果对编译器在不断优化,GCD方法中的block基本都不需要使用weakself,并不会造成循环引用。 dispatch_after官方文档中对block部分的说明: 一:使用self 从ViewControllerA push 到 ViewControllerB。ViewContro...[2021/4/6]

Swift 进阶(一)基础语法

Swift简介 在学习Swift之前,我们先来了解下什么是Swift Swift是Apple在2014年6月WWDC发布的全新编程语言,中文名和LOGO是”雨燕“ Swift之父是Chris Lattner,也是Clang编译器的作者,LLVM项目的主要发起人 Swift版本 Swift历时...[2021/3/8]

iOS底层原理(一)Objective-C的本质

我们平时编写的Objective-C代码,底层实现其实都是C\C++代码,所以Objective-C的面向对象都是基于C\C++的数据结构实现的 OC对象的本质 Objective-C的对象、类主要是基于C\C++的结构体实现的 通过下面的命令可以将OC代码转换为C++代码来查看 cl...[2021/3/8]

iOS底层原理(九)性能优化

iOS中的卡顿优化 iOS中的屏幕成像原理 在讲解卡顿优化之前,我们先来思考一下,在iOS中,屏幕是怎么成像的呢 CPU和GPU 在屏幕成像的过程中,CPU和GPU起着至关重要的作用 CPU(Central Proce ing Unit,中央处理器)CPU的主要任务是进行对象的创建和销毁、对...[2021/3/8]

iOS底层原理(十)架构设计

iOS中的几种常用架构 MVC MVC架构是以Model、Controller、View三者之间的关系来依赖的 Apple版的MVC Apple最早的MVC的数据流向是以Controller为中心,在Model和View中间作为桥梁来衔接,而且Controller和Model、View之间的数...[2021/3/8]

“iOS开发” 金三银四如何快速技术晋升?

开篇寄语 谈谈工作: 2020年是多灾难的一年,对于我们每个人来说,健康地活着比什么都重要。很多公司都过得比较艰难,裁员更是普遍,所以对大部分来说保住饭碗就很不错了,更别说什么跳槽晋升了! 目前状况: 现在iOS开发还是比较忙的,尤其年边,加班现象特别明显!三个月的学习并不是每一个人...[2021/2/22]

突破瓶颈,“iOS开发”,跳槽面试必备题(针对年后面试者)

前言 现在iOS开发还是比较忙的,尤其年边,加班现象特别明显!三个月的学习并不是每一个人都能做到,每一天的坚持都是拉开你和其他的面试者的重要前提! 面试你是否准备好了? 一年之计在于春 金三银四马上降临,2020也已经过去许久,作为一个开发人员,你是否面上了自己理想的公司,...[2021/1/18]

抖音品质建设 - iOS启动优化《原理篇》

作者:字节跳动技术团队   前言 启动是 App 给用户的第一印象,启动越慢用户流失的概率就越高,良好的启动速度是用户体验不可缺少的一环。启动优化涉及到的知识点非常多面也很广,一篇文章难以包含全部,所以拆分成两部分:原理和实践。 本文从基础知识出发,先回顾一些核心概念,为后...[2021/1/11]

iOS中几种定时器的实现小结

在软件开发过程中,我们常常需要在某个时间后执行某个方法,或者是按照某个周期一直执行某个方法。在这个时候,我们就需要用到定时器。 然而,在iOS中有很多方法完成以上的任务,到底有多少种方法呢?经过查阅资料,大概有三种方法:NSTimer、CADisplayLink、GCD。接下来我就一一介绍它们...[2021/1/11]

Magic Book Pro 2019 Intel版 BIOS升级失败-重启后没有升级过程,解决方案

Magic Book Pro-2019-Intel版BIOS升级至1.16 使用官方程序更新BIOS,显示更新成功之后重启,发现并没有以往的BIOS升级过程,BIOS也并未升级。 后来发现,(无论是通过华为电脑管家;还是通过荣耀官网上的BIOS更新程序均无法升级)。 研究后发现,官方升...[2021/1/11]

iOS-贝塞尔画圆动画(圆圈进度百分比)

iOS-贝塞尔画圆动画(圆圈进度百分比)

目标效果            实现 新建基于UIview的文件 .h 属性 /** 0 < accuracy < 1 */ @property (nonatomic,a ign) double accur...[2020/12/21]

6. UICollectionView Decoration View

6. UICollectionView Decoration View UICollectionView 允许我们为每一个section、cell甚至是整个collectionView添加一个装饰视图。这玩意怎么说呢,就是添加了一些可复用视图,视图的frame可以随意设置,划重点是随意设...[2020/12/14]

Algorithm Of Swift -- 1.两数之和

题目描述:         给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元...[2020/12/14]

iOS-for循环快捷创建按钮(随意配置适配)

One 先总结下最近做项目遇到的一个小问题,创建UIView时,总是有一边会出现一条灰黑线,原因竟是在给view设置frame时的精确度问题,取整下即可; ceilf(width) Two 最近在项目里帮朋友简单写了一下这个需求,记录下以后用到方便配置,项目中的我可以放心删了; ...[2020/12/14]

2020年iOS自动打包脚本

2020年iOS自动打包脚本 1.准备工作 安装fastlane 至于fastlane是做什么的就不多说了,自行百度; sudo gem install fastlane --verbose 安装成功后没有修改gem source 的修改一下,我用的是https: gems.ru...[2020/12/14]

2.Block实战

2.Block实战 问题来自:iOS开发基础:开发两年的你也不会写的Block 声明一个Block,并调用它。 声明一个Block型的属性。 声明一个方法,接受一个Block型的参数,并写出调用时传入的Block实参。 实现一个Block的递归调用(Block调用自己)。 实现一个方法...[2020/12/8]

Realm--: 简化iOS下Realm写入事务的最佳解决方案

Realm--: 简化iOS下Realm写入事务的最佳解决方案

Realm--: 简化iOS下Realm写入事务的最佳解决方案(其他平台亦可借鉴次思路) 直接使用 Goto --> Github 开始阅读 解决痛点 痛点1,重复代码,本来增删改查一般两三行的,提交就占了2行,基本上代码量多一小半 [[RLMRealm defaultRea...[2020/12/8]

3.iOS14下UIPageControl自定义样式

3.iOS14下UIPageControl自定义样式 1.概览 首先在iOS14中UIPageControl中增加了几个新属性及方法: 表示当前的背景样式,枚举值 open var backgroundStyle: UIPageControl.BackgroundStyle 只...[2020/12/8]

iOS套路面试题之必考笔试手写算法题

作为开发者,有一个学习的氛围跟一个交流圈子特别重要,这是一个 我的iOS交流群:761407670,不管你是小白还是大牛欢迎入驻 ,分享BAT,阿里面试题、面试经验,讨论技术, 大家一起交流学习成长! 以下基本上以C语言实现为主 1.不用中间变量,用两种方法交换A和B的值? ...[2020/12/8]

iOS----------remote: HTTP Basic: Access denied

最近在提交代码的时候总是提示remote: HTTP Basic: Acce denied   看一下就知道可能是权限的问题  也可能是账号的问题,突然想到前段时间在托管平台修改了密码,所以就修改一下密码就可以了。所以就把账号和密码删除,重新添加,再次提交密码就会提...[2020/12/8]

4.如何在xib中正确设置颜色

4.如何在xib中正确设置颜色 写了半天发现还没人家写的好,直接转载了iOS开发之为App设置正确的设计颜色 简单总结一下 如果在开发的过程中发现Interface Builder(包括xib和storyboard)设置的颜色运行后始终无法得到正确的显示,那么这个时候可以问一下公司的设...[2020/12/8]

iOS Transform坐标变化

在使用CGContext时,由于Quartz 2D与UIKit坐标不一致,所以需要对context进行再一次的变化,达到预期的效果。 1. 不同坐标原点介绍 在Quartz 2D中,坐标原点在画布的左下角,而UIKit中,与屏幕坐标一致,以左上角为坐标原点。 如果以(0,0)点为原点...[2020/11/23]

Undefined symbols for architecture arm64:

Undefined symbols for architecture arm64:   "_Decoder_Interface_init", referenced from:       EM_DecodeAMRFileToWAVEFile...[2020/11/23]

1. RxSwift 创建可观察序列

empty() 方法初始化 创建了一个空内容的 Observable let ob = Observable<Int>.empty() 先简单的写一种订阅的方法 ob.subscribe { print("执行了") } just() 方法 传入默认值初始化 ...[2020/11/23]

Sagit.Framework For IOS 开发框架入门教程16:屏幕旋转、屏幕强制旋转功能。

前言: 框架对屏蔽旋转做了很全面的封装处理,本篇来介绍一下使用屏幕旋转的相关功能。 屏幕旋转的相关方法定义: #pragma mark 屏幕旋转 !屏幕旋转事件:【 return true 系统调用刷新布局([self.view refleshLayoutAfterRotate];...[2020/11/9]

[Swift]一些第三方库

[Swift]一些第三方库

Kingfisher 地址 https: github.com/onevcat/Kingfisher 功能 加载网络图片   RxAlamofire 地址 https: github.com/RxSwiftCommunity/RxAlamofire 功能&...[2020/11/9]

iOS多线程之超实用理论+demo演示(可下载)

iOS多线程之超实用理论+demo演示(可下载)

目录背景简介GCD、OperationQueue 对比核心理念区别GCD队列串行队列(Serial Queues)并发队列(Concurrent Queues)串行、并发队列对比图注意事项block(块)相关dispatch_afterdispatch_semaphoredispatch...[2020/11/9]

555
4
记录数:597 页数:3/12首页上一页12345678910下一页尾页
 友情链接:直通硅谷  直通硅谷 怎么样 mac软件下载
加载更多