![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
iOS
TheoWan
希望这个世界,能因为我的存在,添一些美好。
展开
-
iOS 模拟器 切换输入法 中文输入法
command + k 切换输入法长按 地球或者表情笑脸,出现选择键盘,加入或者选中键盘格式。原创 2020-05-06 09:43:03 · 316 阅读 · 0 评论 -
__weak与__block修饰符到底有什么区别
API Reference对__block变量修饰符有如下几处解释://A powerful feature of blocks is that they can modify variables in the same lexical scope. You signal that a block can modify a variable using the __block storag转载 2017-08-30 10:07:25 · 215 阅读 · 0 评论 -
_weak typeof(self) weakSelf = self
_weak typeof(self) weakSelf = self; (一)内存管理原则 1、默认strong,可选weak。strong下不管成员变量还是property,每次使用指针指向一个对象,等于自动调用retain(), 并对旧对象调用release(),所以设为nil等于release。 2、只要某个对象被任一strong指针指向,那么它将不会被销毁,否则立即释放,不用等转载 2017-08-30 10:02:44 · 198 阅读 · 0 评论 -
MJExtension,模型、字典、json数据转换
MJExtension很强大,几乎支持现有所有的模型、字典、json数据转换,而且效率非常高以前写对象归档的时候,需要让这个对象实现NSCoding协议,而且要对每一个需要归档的属性做一些encode和decode操作,例如你之前的代码可能是这样子的Person.h文件#import "Person.h"@interface Person : NSObject NS转载 2017-09-13 17:21:46 · 1020 阅读 · 0 评论 -
C语言宏定义时#(井号)和##(双井号)的用法
http://www.cnblogs.com/welkinwalker/archive/2012/03/30/2424844.html#在英语里面叫做 pound在C语言的宏定义中,一个#表示字符串化;两个#代表concatenate(串联,字符之间相加的意思)举例如下:#include void quit_command(){转载 2017-08-25 09:15:47 · 960 阅读 · 0 评论 -
iOS 中宏定义反斜杠( \ )的作用
c语言中,宏定义太长,用反斜杠转义,可写成多行;写成多行时,反斜杠后不能有空格,否则编译器(ARM或VC)会报错!宏定义转为多行以后,最后一行不可再加反斜杠!!原创 2017-08-25 09:14:26 · 921 阅读 · 0 评论 -
Xib文件 Cell中添加滚动视图 UIScrollView
1. 先添加一个UIView作为滚动视图的父视图。2.把 UIScrollView 拖到 上面的View 上。3.调用滚动视图UIScrollView 的 addSubView方法添加视图,即可实现cell中的滚动视图。原创 2017-07-03 14:26:14 · 327 阅读 · 0 评论 -
Swift3.0学习笔记-Inheritance(继承)
英文文档派生类可以继承基类的方法、属性和其它特性(例如下标脚本)。 例如:当类B继承于类A时, A就是B的基类、B是A的派生类。 派生类可以调用基类的方法、属性和下标脚本, 也可以覆盖基类的方法、属性、下标脚本。 在使用override关键字覆盖基类属性、方法或下标脚本时, Xcode会自动判断基类是否有相同定义。Swift支持对基类和派生类的属性添加监听器。原创 2017-03-15 11:49:34 · 519 阅读 · 0 评论 -
升级Xcode后,出现大批警告
如下图所示:此时刚更新完Xcode8.3,以及Swift3.1,所以一些旧语法会提示警告但是新版本会兼容那些旧方法,可以正常编译。原创 2017-03-31 16:15:27 · 420 阅读 · 0 评论 -
为啥有的app 3dtouch home屏有分享,有的app木有
现在从app store上下载的默认都带一个分享的功能,如果你是真机调试自己的app,你没有加入3D Touch功能的话 是不会显示的,但是等你提交到商店后, 从商店下载到手机上也是自带一个分享的功能原创 2017-03-13 18:19:27 · 723 阅读 · 0 评论 -
1.手机测试注意事项—2.工程测试事项
ios手机测试:1.测试场景,要包括:a.App退出场景b.App后台场景c.App锁屏场景d.App休眠场景2.待续!原创 2017-03-01 14:39:45 · 459 阅读 · 0 评论 -
Swift枚举的非连续原始值
原文传送。原创 2017-02-26 16:35:28 · 240 阅读 · 0 评论 -
视图控制器的继承
继承试图控制器的时候,不用声明,不添加新代码的情况下,相当于是跟父类一样的。要想改变父类中的某个子视图的属性,目前,我是重写了该视图,重新赋值(前提是,该子视图是父类继承来的,或者是有声明属性的,否则改写不了哦)。原创 2017-02-26 14:09:41 · 187 阅读 · 0 评论 -
(转)Xcode多个Target工程
为什么要使用多target? 因为在一些外包公司,很多项目都非常类似,甚至有时候只是修改了一下主题颜色,换一下图标,或者增减了一些小功能,但是其他7成以上的代码都是可以复用的。如果我们直接copy多一份代码来做新项目的话,那么当原始代码的某个功能出现bug的时候,我们可能要同时去修改十几个其他项目的那行代码,这是一件非常痛苦的事,繁琐而且容易出错。但转载 2017-03-01 16:51:34 · 362 阅读 · 0 评论 -
视图旋转 transform 属性 的用法
1. CGAffineTransformRotate(imageView.transform, M_PI)这个方法每次旋转是以上次旋转之后的中心进行旋转2.CGAffineTransformMakeRotation( M_PI)而这种方法没次旋转都是以最原始状态下的中心进行旋转,所以这种方法只能旋转一次,再点击就不能使其旋转了原创 2017-09-18 15:21:27 · 406 阅读 · 0 评论 -
VS2015 Git 源码管理工具简单入门
1.VS Git插件1.1 环境VS2015+GitLab1.2 Git操作过程图解 1.3 常见名词解释拉取(Pull):将远程版本库合并到本地版本库,相当于(Fetch+Meger)获取(Fetch):从远程版本库获得最新版本合并(Meger):将两个版本库进行合并操作提交(Commit):将所做的更改,存转载 2017-08-30 10:59:29 · 306 阅读 · 0 评论 -
修改Xib文件不起作用 ( xCode缓存DerivedData目录 )
XCode有的时候发现改变页面的布局样式之后,并没有立即执行,可能需要重新运行一次才会有效果,其实这个时候我们清理一下DerivedData目录,另外如果我们运行过很多程序,重来没有清理过,会发现里面的缓存文件是惊人的,可以选择定期清理~~/Library/Developer/Xcode/DerivedData/作者:FlyElephant链接:http转载 2017-09-12 14:55:11 · 752 阅读 · 0 评论 -
LaunchScreen启动图 黑屏
最近做项目,遇到了LaunchScreen欢迎页图片加载不上或者说不显示的问题。写个笔记记录一下。。。一开始一切都是顺利的,也可以显示欢迎页的图片,但是后来做别的功能时,图片突然不显示,试了好多方法,重新写LaunchScreen,或者换别的图片,但是都不显示,最后在网上看到别人说,是xcode的问题,我们的资源没有加载上,然后我就把测试机重启了,xcode也重启了,问题就解决了。转载 2018-02-26 15:39:09 · 1512 阅读 · 0 评论 -
字符串: 4位1空格银行卡、银行卡加*、手机号加*
- (NSString *)convertAccountString:(NSString *)str{ NSString *getString = @""; int a = (int)str.length/4; int b = (int)str.length%4; int c = a; if (b>0){ ...原创 2016-12-19 10:39:16 · 1399 阅读 · 0 评论 -
Xcode 启动页面关闭 不显示
解决办法:Command + Shift + 1原创 2016-12-16 09:41:57 · 1127 阅读 · 0 评论 -
bug:Xcode删除文件后missing file警告
原文点这里在用xcode开发的时候,删除不用的文件后, 编译的时候会有missing file的警告,原因是由于SVN或git造成的,有几种方法可以解决。1.命令行进入missing file目录,然后运行svn delete file.cpp或者git rm file.cpp2.删除隐藏的.svn文件,命令行运行 defaults write com.apple.finder AppleShow...原创 2017-02-20 14:19:08 · 911 阅读 · 0 评论 -
navigationController调用PopViewController , VC栈, Push, Pop
self.navigationController?.popViewController(animated: true)这个方法只是pop出当前栈中的顶端元素。注意:不一定是调用此方法的viewcontroller!!!哈哈哈哈,这个有bug你又不知道这个的话,就问你脑袋仁疼不疼.......原创 2017-02-26 11:59:46 · 1060 阅读 · 0 评论 -
viewController调试不走deinit方法(个人记录)
原因:闭包里面引用了self,但是未声明 [ unowned self ]原创 2016-09-23 14:06:51 · 3872 阅读 · 0 评论 -
Mac Xcode崩溃 (打开ios项目引起崩溃)
bug:每次打开此工程都会导致Xcode崩溃。其他工程没有问题。解决办法:1.确定本地跟服务器没有需要更新和提交的代码2.把本地工程移到废纸篓3.从新check out工程4.新工程完美运行(这样没法解决的话,就问你慌不慌,哈哈哈哈哈哈哈)(一般来说,不会存在你写的代码会导致xcode崩溃。我的崩溃原因是打开多个项目的时候发生的。)以下是Xcode提供的崩溃日志:Process: ...原创 2017-01-08 13:09:03 · 14878 阅读 · 0 评论 -
ios 隐藏键盘
[self.view endEditing:YES];原创 2018-02-12 17:45:22 · 254 阅读 · 0 评论 -
clipsToBounds/masksToBounds的区别
clipsToBounds -> UIView : 指视图上的子视图,如果超出父视图的部分就截取掉,masksToBounds -> CALayer : 指视图的图层上的子图层,如果超出父图层的部分就截取掉clipsToBounds执行时调用自己涂层的maskToBounds方法-(BOOL)[UIView(Rendering) cl转载 2017-11-10 11:08:13 · 5073 阅读 · 0 评论 -
我的 开发 知识点 集结 (更新中...)
1. cell 内容间隙 不要选中下面的属性就行。2.原创 2017-10-14 14:46:41 · 245 阅读 · 0 评论 -
Xcode 9 illegal Configuration Safe Area Layout Guide before iOS 9.0
illegal Configuration 解决方案1、打开右侧的 Show the File inspetcor2、去掉 Use Safe Area Layout Guides转载 2017-10-12 16:31:09 · 509 阅读 · 0 评论 -
(zhuan)富文本 Attributes 下划线、删除线等
每次需要特殊设置文本的attribute属性时,都要查很多资料,其中有些常用的key值有时不会那么准确的记住,所以花点时间整理了一下;使用下面这首古诗作为例子吧:朝辞白帝彩云间,千里江陵一日还。两岸猿声啼不尽,轻舟已过万重山。直接显示这首古诗的时候,结果是这样的:NSString *string = @"朝辞白帝彩云间,\n千里江陵一日还。\n两岸猿声啼不尽,\转载 2017-09-20 18:24:56 · 4057 阅读 · 0 评论 -
笔记:ios background modes
iOS 应用程序,按下Home键时,APP从活动状态转入后台,绝大部分app通常在几秒内就从后台变成了挂起。在内存吃紧的时候,iPhone会首先关闭那些挂起的app。对一些特殊APP可以把自己声明为需要在后台运行,就能不限时地运行了。iOS7以后提供的后台接口模式1、Background Audio,这是后台的音频,这个很早之前便有,也是iOS设备中用得最多的后台应用,调用这个原创 2017-02-20 10:52:50 · 2273 阅读 · 0 评论 -
(转)有关CocoaPods安装的问题
原博点这里。关于 cocoapods 的安装,网上大部分教程都是基于0.39版本 的教程,现将cocoapods1.0.1版本的安装教程进行整理:(如果你是 cocoapods 的使用大神,请忽略这篇文章,该篇文章讲的都是关于 cocoapod的一些基本知识。)rvm - home-brew - ruby - gem - cocoapod转载 2017-02-19 14:28:32 · 504 阅读 · 0 评论 -
(转)iios注释修饰词介绍
在之前的Xcode版本中使用注释插件 VVDocumenter 可以快速的根据上下文的环境生成相应的注释格式,但是该插件目前在 Xcode7 bate 版中并不太兼容,这就需要我们了解一下原生的注释格式怎么书写了,现总结以下自己使用的几种格式与大家共同交流。Swift 中的普通注释与 Objective-C 中的一致,大概分为以下三种// 单行注释/ * 多行转载 2017-02-19 10:39:46 · 573 阅读 · 0 评论 -
(转)ios push message -- Notification
一.关于推送通知推送通知,也被叫做远程通知,是在iOS 3.0以后被引入的功能。是当程序没有启动或不在前台运行时,告诉用户有新消息的一种途径,是从外部服务器发送到应用程序上的。一般说来,当要显示消息或下载数据的时候,通知是由远程服务器(程序的提供者)发送,然后通过苹果的推送通知服务(Apple Push Notification Service,简称apns)推送到设备的程序上。转载 2016-12-12 16:18:00 · 750 阅读 · 0 评论 -
Date转换为String ---- Swift
///now -> string yyyy-MM-dd 2016-12-09func dateNowAsString() -> String { let nowDate = Date() let timeZone = TimeZone.init(identifier: "UTC") let formatter = DateFormatter()原创 2016-12-09 10:13:00 · 4474 阅读 · 0 评论 -
(转载)ios手势问题
转载自各前辈写的博客留待后面使用转载 2016-12-08 18:23:55 · 265 阅读 · 0 评论 -
(转载)Gist介绍
转载自:http://www.worldhello.net/gotgithub/06-side-projects/gist.htmlGist在GitHub网站的导航条上就有Gist子网站的链接: https://gist.github.com/ ,在本节我们就揭开其面纱。图6-1:GitHub上的Gist链接Gist作为一个粘贴数据的工具,就像 Pastie转载 2016-12-08 10:42:01 · 497 阅读 · 0 评论 -
(转载)ios崩溃日志详解
首先我们经常会闪退的异常有哪些呢?crash的产生来源于两种问题:违反iOS策略被干掉,以及自身的代码bug。1.IOS策略1.1 低内存闪退前面提到大多数crash日志都包含着执行线程的栈调用信息,但是低内存闪退日志除外,这里就先看看低内存闪退日志是什么样的。我们使用Xcode 5和iOS 7的设备模拟一次低内存闪退,然后通过Organizer查看产生的crash日志转载 2016-12-07 09:56:37 · 1981 阅读 · 0 评论 -
Apple Mach-O (Id) Error ios编译错误(file too small file)
命令行错误信息为 ld : file too small file ..............最终解决办法:pod install原创 2016-11-30 11:27:06 · 1035 阅读 · 0 评论 -
How_Use_ UIAlertController
原创 2016-11-15 14:48:57 · 206 阅读 · 0 评论 -
(转载保存)iOS的相对路径和绝对路径
iOS程序有固定的文件访问限制,只能在自己的沙盒内。 UIImage *img=[UIImage imageNamed:@"cellicon.png"];这段代码从相对路径加载了一个png图片资源作为UIImage对象,没有任何问题。因为它在内部已经偷偷得帮你把路径转化为相对路径了,你还不知道吧! 接下来,如果要加载一些自定义格式的文件或者数据,就会出现相对路径和绝对路径的转载 2016-11-14 13:52:16 · 300 阅读 · 0 评论