objective-c
文章平均质量分 50
闽江小张
任职于深圳某上市公司,性别男,爱好女。擅长于移动端开发,了解服务端开发、客户端开发。对iOS移动端开发、Java服务端、Swift、OC、Java、Vue、H53C等相关技术有一定见解。本人通过软考高级、中级,会计初级等职业资格证书,对相关资格考试有一定备考攻略。如有需要都可以联系我进行沟通学习。
展开
-
does not specify a Swift version and none of the targets (`packager`) integrating it have the `SWIFT
iOS打包过程中遇到一个坑点,在输入以下命令进行打包的过程中,pod package AAA.podspec --library --force报错如下does not specify a Swift version and none of the targets (`packager`) integrating it have the `SWIFT_VERSION` attribute set. Please contact the author or set the `SWIFT_VERSION原创 2021-12-22 15:37:27 · 3536 阅读 · 0 评论 -
Swift 闭包与@autoclosure
有写过OC的同学一定知道OC中又个Block的概念,其实Swift中有一个也有与之对应的闭包概念,说到闭包不得不说@autoclosure关键字,其实就是自动闭包的意思。先来看看Swift的闭包如何写? override func viewDidLoad() { super.viewDidLoad() //直接调用方法 printText { () -> Int in return 1 } }原创 2021-12-21 17:28:11 · 1694 阅读 · 0 评论 -
iOS UIImageView的contentMode属性【Swift版】
今天小编遇到一个Bug,就是图片被自动拉升了,就比如这样的一张宽的图片,iOS会自动拉升的到适配UIImageView尺寸的。一开始忘记了UIImageView有contentMode属性。百思不得其解。后来。。。。。(就是我太菜)来波总结【文后有惊喜】public enum ContentMode : Int { case scaleToFill = 0 //默认 case scaleAspectFit = 1 // 内容缩放以适应固定的方面。其余部分是透明的原创 2021-12-17 17:50:08 · 3030 阅读 · 0 评论 -
iOS 统计代码行数
iOS 统计代码行数原创 2021-12-15 14:57:44 · 1867 阅读 · 0 评论 -
iOS中SDWebImage
一、SDWebImage的基本使用小编最早也只是会基本使用,但是后来企业导师和我说SDWebImage的东西很多,只会基本使用是不够的。那么先来看看基本使用。SDWebImage的github地址官方文档·Objective-C#import <SDWebImage/SDWebImage.h>...[imageView sd_setImageWithURL:[NSURL URLWithString:@"http://www.domain.com/path/to/image.jpg"]原创 2021-12-14 14:47:52 · 1037 阅读 · 0 评论 -
iOS 发送邮件SKPSMTPMessage
【前提分析】小编在做毕业设计 ,因为没有服务端,所有的功能由客户端实现。这时候小编接到了一个需求 就是需要邮件发送验证码。【需求分析】1、如何使用客户端发送邮件。2、如何发送验证码?这时候小编拿到需求的时候,????一个挖槽,服务端需求客户端实现。怎么搞???好在作为一个面向搜索引擎开发的工程师来说百度了一波。找到了iOS开发可以使用SKPSMTPMessage进行邮件发送。使用SKPSMTPMessage 步骤(由于网上很多ObjectiveC的使用,这边小编采用Swift完成)【使用步骤】原创 2021-12-13 11:24:10 · 2439 阅读 · 1 评论 -
pod install 的LoadError问题【已解决】
大佬和我说这是M1才可能遇到的问题,可是我并不是M1电脑也没有更新系统遇到了!!!哈哈哈操!遇到这两个坑x 'require': incompatible library version........(LoadError)cannot load such file -- 3.0/ffi_c (LoadError)截图如上遇到这两个坑的时候。百度了,网上解决方案很少,cocoapods的也删掉重试了,没用!!!最后认真看提示!!让我们输入gem pristine executable -hoo原创 2021-11-25 13:57:34 · 3638 阅读 · 0 评论 -
iOS多线程基本使用教程(Swift)
iOS多线程基本使用一、iOS的三种多线程技术1、NSThread2、NSOperation3、GCD二、基本使用NSThread的基本使用NSOperation的基本使用GCD的基本使用一、iOS的三种多线程技术1、NSThread–优点:NSThread 比其他两个轻量级,使用简单–缺点:需要自己管理线程的生命周期、线程同步、加锁、睡眠以及唤醒等。线程同步对数据的加锁会有一定的系统开销2、NSOperation不需要关心线程管理,数据同步的事情,可以把精力放在自己需要执行的操作上3、GCD原创 2021-11-24 17:57:30 · 3512 阅读 · 0 评论 -
iOS定位及解析经纬度【Swift】
导入import CoreLocationimport MapKit实现CLLocationManagerDelegate代理初始化位置信息 // MARK:初始化位置 func initLocation() { locationManager.delegate = self //设置定位模式 locationManager.desiredAccuracy = kCLLocationAccuracyBest原创 2021-11-23 19:15:09 · 1242 阅读 · 0 评论 -
iOS 中@Property讲解
新手篇1、与多线程相关的参数atomic:默认值、安全、效率低下nonatomic:不安全但是效率高无论在MRC还是ARC都可以使用。使用建议无论是在ARC还是MRC下都建议使用nonatomic。2、retain:只能在MRC模式下使用,代表生存的setter的代码都是标准的内存管理代码。使用建议:当属性值是OC对象时,绝大多数使用retain。只有出现了循环引用的使用一边使用retain、一边使用assign。3、assign在ARC和MRC下都可以使用assign。当属性值是非OC对象原创 2021-07-30 00:08:52 · 224 阅读 · 0 评论 -
【四】iOS面试问题
分类(category)和类扩展(extension)的用途和区别?分类(Category)是OC中的特有语法,它是表示一个指向分类的结构体的指针。原则上它只能增加方法,不能增加成员(实例)变量。分类中的可以写@property, 但不会生成setter/getter方法。如果分类中有和原有类同名的方法, 会优先调用分类中的方法, 就是说会忽略原有类的方法。所以同名方法调用的优先级为 分类 > 本类 > 父类。分类优点:1、声明私有方法2、分解体积庞大的类文件3、把Framewor转载 2021-07-19 10:32:26 · 101 阅读 · 0 评论 -
【三】iOS面试问题
一、观察者模式(通知机制,KVO机制)观察者模式定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象。这个主题对象在状态上发生变化时,会通知所有观察者对象,使它们能够自动更新自己。 简而言之,就是A和B,A对B的变化感兴趣,就注册A为观察者,当B发生变化时通知A,告知B发生了变化。这个也叫做经典观察者模式。...原创 2021-07-18 14:04:12 · 77 阅读 · 0 评论 -
【二】iOS面试问题
一、什么是MVC?Model是数据层。定制数据View是现实界面。画页面以及响应单机事件等。Controller是控制层。是用于连接Model和View。二、什么是MVVM?MVVC是MVC的扩展M:Model:数据模型。定制数据、创建实体类。V:ViewController视图控制器,用来显示界面以及用户交互。VM:ViewModel业务逻辑层。用来处理ViewController上的业务逻辑和界面逻辑。如:网络请求、登陆、上传和下载。...原创 2021-07-18 10:23:56 · 110 阅读 · 0 评论 -
【一】iOS面试问题
【一】iOS面试问题一、podinstall和pod update的区别pod update当运行pod update PODNAME时, CocoaPods将尝试查找PODNAME更新的pod版本, 会忽略掉Podfile.lock中已经存在的版本.例如:pod update masonry 他就只会更新Podfile里面的masonry三方库到最新的版本,其余库都不会进行更新。前提没有加pod ‘masonry’, ‘~>1.2’这种版本限制。才会更新最新的版本。如果直接运行pod up原创 2021-07-17 23:48:04 · 200 阅读 · 0 评论