Objective-C
刘新林
斜杠青年
展开
-
iOS经典讲解之播放本地音频文件
/*** 播放音效文件** @param name 音频文件名称 */- (void)playSoundEffect:(NSString *)name { NSString *audioFile=[[NSBundle mainBundle] pathForResource:name ofType:@"mp3"]; NSURL *fileUrl=[NSURL fileURLWithPath:audioFile]; //1.获得系统声音ID SystemS...原创 2021-06-28 10:24:19 · 1954 阅读 · 0 评论 -
iOS经典讲解之微信SDK更新后需要UniversalLink解决方案
一:微信更新1.8.6的SDK后,在delegate注册时多了一个universalLink参数(如下)+ (BOOL)registerApp:(NSString *)appid universalLink:(NSString *)universalLink;不管你是友盟还是ShareSDK等等,只要是最新版的应该都需要这个参数,参考:微信官方文档,经验总结如下。本文将介绍如何配置U...原创 2020-01-11 11:23:50 · 8564 阅读 · 2 评论 -
iOS经典讲解之通过setValue: forKeyPath:设置属性(iOS 13不支持该方式修改私有属性!!!)
UITextField的placeholder的颜色和字体:1、方案一(iOS13已不支持该方案,提倡方案二)textField.placeholder = @"请输入用户名!"; [textField setValue:[UIColor redColor] forKeyPath:@"_placeholderLabel.textColor"]; [textField setVal...原创 2018-11-16 15:30:04 · 2703 阅读 · 0 评论 -
iOS经典讲解之UIWebView加载PDF不显示电子签章解决方案
一、对于iOS 12系统可直接使用WKWebView 加载pdf url 即可,便会显示电子签章,WKWebView是从 iOS 8.0 和 OS X 10.10 开始的;二、对于iOS 12以下版本,有其他的解决方案:iOS版本 < 12的情况可以使用PDF.js:PDF.js可以实现在html下直接浏览pdf文档,是一款开源的pdf文档读取解析插件,非常强大,能将PDF文件渲...原创 2018-10-12 11:12:32 · 4907 阅读 · 4 评论 -
iOS经典讲解之解决集成百度鹰眼上传App Store经常出现的问题
学习视频,点击这里!!!如果应用集成百度鹰眼,在打包上传App Store时提示一大堆错误,其中有一条错误代码是90087。问题描述:可以直接使用鹰眼iOS SDK进行开发测试,但是上架到APP STORE时,由于苹果公司的要求,只能使用真机对应CPU架构的SDK,所以需要开发者需要使用lipo命令合成自身需要的CPU架构版本的SDK。解决方案如下。1.从你的工程中找到BaiduT...原创 2018-08-21 16:59:59 · 1701 阅读 · 0 评论 -
iOS经典讲解之长按手势执行多次解决办法
添加长按手势会出现方法响应多次的情况 UILongPressGestureRecognizer *touch = [[UILongPressGestureRecognizer alloc] initWithTarget:self action:@selector(handleTap:)]; [self addGestureRecognizer:touch]; 解决方法:根据手...原创 2018-08-14 16:00:06 · 7643 阅读 · 0 评论 -
iOS经典讲解之pch文件import注意事项
把常用的定义或者 import 放在 pch 中,这样在不用在项目中再引用和定义了,即可以做到全局 macro,又可以作为全局 import 用。然而在使用一些用C 和 C++ 编译的类库时,都无法编译通过,出现类似很多类名 not found,甚至是 NSString 都未找到!发现 pch 文件对于 C 的文件一样起作用。试想一下,C 的代码引用 OC 的代码,会出现什么?当然是编译失败!问题找到了,如何让 C 的文件编译的时候不引用 OC 的代码呢?原创 2018-01-03 10:41:03 · 1196 阅读 · 0 评论 -
iOS经典讲解之svn常用的终端命令
1、将文件checkout到本地目录svn checkout path(path是服务器上的目录) 例如:svn checkout svn://192.168.1.1/pro/domain 简写:svn co2、往版本库中添加新的文件 svn add file 例如:svn add test.php(添加test.php) svn add *.php(添加当...原创 2017-11-15 10:49:18 · 540 阅读 · 0 评论 -
不要在init和dealloc函数中使用accessor
转自唐巧技术博客:http://blog.devtang.com/2011/08/10/do-not-use-accessor-in-init-and-dealloc-method/Objective-C 2.0 增加了 dot syntax,用于简单地调用成员变量的 accessor。相当于 java 的 getter 和 setter。因为正常情况下,写一个 accessor 对于初学转载 2016-05-11 14:14:29 · 587 阅读 · 0 评论 -
iOS经典讲解之[self class]和[super class]的区别
作者:Loving_iOS转载请标明出处:在objc中的类实现中经常看到这两个关键字”self”和”super”,但他们的区别表现在各个方面。以下面的代码为例:@interface Father:NSObject {NSString* name;}- (void)setName:(NSString*) yourName;@end@interfac原创 2015-11-17 10:51:11 · 8224 阅读 · 0 评论 -
iOS经典讲解之Objective-C关联对象的内存管理
@关联对象的内存管理:如果两个或者两个以上的对象存在关联,那么在内存管理方面要比一个对象的内存管理复杂一些,下面通过一个简单的例子来讲解一下关联对象的内存管理问题:创建一个Pet(宠物)类:#import @interface Pet : NSObject{ // 无实例变量}// 声明一个行为方法- (void)play;@end#import "Pet原创 2015-09-26 16:39:10 · 1660 阅读 · 0 评论 -
iOS经典讲解之Objective-C属性的内存管理原理
@在进行讲解属性的内存管理之前,先来看看之前我们使用实例变量时是怎样管理内存的:我们创建两个相关联的类Person类和Pet类,来看看它们中的赋值和取值方法是怎样管理内存的:Pet.h#import @interface Pet : NSObject{ NSString *_name;}// 声明赋值 取值方法- (void)setName:(NSS原创 2015-09-27 12:02:55 · 735 阅读 · 1 评论 -
iOS经典讲解之Objective-C内存管理基础知识及内存管理黄金原则
在进行讲解内存管理之前先来了解一下内存的基础知识:1、内存区的划分:栈区(stack): ①栈区主要存储局部变量以及函数的参数。函数调用的过程其实就是入栈出栈的过程。(先进后出,后进先出)②栈空间的分配是从高到低分配,从低到高存储。③管理方式:系统自动进行管理,不需要我们手动管理。堆区(heap): 经过排序的树形结构,通常是二叉树, 常用来实现优先队列堆的存取,是原创 2015-09-25 18:47:15 · 823 阅读 · 0 评论