- 博客(30)
- 资源 (38)
- 收藏
- 关注
原创 Swift和Objective-C的相互调用
(一)Swift调用Objective-C1)已有的OC项目new file 创建swift 文件2)出现如下所示的弹框配置oc桥接头文件的提示`ZhuRenWong-Bridging-Header`3)点击Create Bridging Header4)自动生成 如下文件5)桥接文件中添加OC的.h文件(如上图所示)6)swift 文件中调用OC 方法 如下图所示附代码:swift调
2017-06-30 15:14:28 3466
原创 子类(Subclass)如何复用StoryBoard中的ViewController?
问题我先定义了一个BaseViewController类,在StoryBoard中也画了一个BaseViewController控制器。我用代码storyboard.instantiateViewController(withIdentifier: "BaseViewController") as! BaseViewController可以很容易的生成BaseViewController实例。但是我
2017-06-23 12:01:38 2196 2
原创 Swift中Delegate的正确使用姿势
目标 在A类里面声明一个ADelegate的代理,B类遵循并使用ADelegate定义的函数。实现A.swift//创建协议 protocol ADelegate:NSObjectProtocol { //回调方法 传一个String类型的值 func delegateMethod(string:String) } class A: UIViewCont
2017-06-22 23:29:54 9518
原创 VIM中的保存和退出、VIM退出命令、如何退出vim编辑、VIM命令大全
退出命令是,按ESC键 跳到命令模式,然后输入q(不保存)或者wq(保存) 退出。其他退出命令::w 保存文件但不退出vi :w file 将修改另外保存到file中,不退出vi :w! 强制保存,不推出vi :wq 保存文件并退出vi :wq! 强制保存文件,并退出vi :q 不保存文件,退出vi :q! 不保存文件,强制退出vi :e! 放弃所有修改,从上次保存文件开始再编辑
2017-06-13 22:57:03 352278 5
翻译 Swift 4.0 更新合集、新功能汇总
Swift 4是苹果计划于2017年秋季推出的最新版本,其主要重点是提供与Swift 3代码的源兼容性,并努力实现ABI稳定性。本文重点介绍对Swift的更改将对您的代码产生最大的影响。 而且,让我们开始吧!
2017-06-10 11:16:19 18199
原创 「iOS」synchronized关键字的含义和用法
Objective-C支持程序中的多线程。这就意味着两个线程有可能同时修改同一个对象,这将在程序中导致严重的问题。为了避免这种多个线程同时执行同一段代码的情况,Objective-C提供了@synchronized()指令。指令@synchronized()通过对一段代码的使用进行加锁。其他试图执行该段代码的线程都会被阻塞,直到加锁线程退出执行该段被保护的代码段,也就是说@synchronize
2017-06-04 09:43:12 636
原创 「Swift」- AnyObject、Any、AnyClass的区别
1. AnyObject :代表任何class类型的对象实例。class Man{}class Woman{}let man = Man()let woman = Woman()var arr:[AnyObject] = [man,woman]for people in arr { if let m = people as? Man { println
2017-06-04 09:43:09 2488
原创 Xcode8 无法使用第三方插件解决方案
解决方案苹果在 Xcode 8 中,取消了对第三方插件的支持,而给出的Xcode Source Editor Extension远远无法满足需求,对于习惯vim coding的童鞋简直无异于死刑, 翻了几篇文章,亲测了几个方法,唯一找到一个既简单又安全又方便的办法,如下:命令行中执行下面的命令$ gem install update_xcode_plugins$ update_xcode_p
2017-06-04 09:43:04 1478
原创 「iOS逆向工程」「iOS安全」必看书单(更新中...)
任何应用的开发中安全都是重中之重,在信息交互异常活跃的现在,信息加密技术显得尤为重要。在app应用开发中,我们需要对应用中的多项数据进行加密处理,从而来保证应用上线后的安全性,给用户一个安全保障。iOS逆向工程和数据安全书单列表如下:苹果安全白皮书( iOS Security Guide)iOS黑客手册(iOS Hacking Guide)iOS逆向工程工具集
2017-06-04 09:43:02 2695
原创 「iOS」 7 8 9 10 view被导航条遮挡的解决方法
添加了一个导航条之后,view被导航条给[覆盖了,并没有从导航条的下面开始。在iOS7中,UIViewController引入了一个新的属性:edgesForExtendedLayout。 这个属性的默认值是UIRectEdgeAll。当你的容器是UINavigationController的时候,默认的布局就是从状态栏的顶部开始的。这就是为什么你设置的控件都往上漂移的原因。有两种方法解决
2017-06-04 09:42:59 530
原创 「iOS」中3种正则表达式的使用与比较
iOS中有三种方式来实现正则表达式的匹配。现在将他们都记录在这里:1.利用NSPredicate(谓词)匹配例如匹配有效邮箱:NSString *email = @"admin@ruanman.net";NSString*regex = @"[A-Z0-9a-z._%+-]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,4}";NSPredicate*predicate =
2017-06-04 09:42:56 381
原创 苹果Mac终端快捷键大全
在shell命令终端中,Ctrl+n相当于方向向下的方向键,Ctrl+p相当于方向向上的方向键。在命令终端中通过它们或者方向键可以实现对历史命令的快速查找。这也是快速输入命令的技巧。 在命令终端中可以通过Ctrl+r 实现快速检索使用过的历史命令。Ctrl+r中r是retrieve中r。Ctrl+a:光标回到命令行首。 (a:ahead)Ctrl+e:光标回到命令行尾。 (e:end)
2017-06-04 09:42:53 2076
原创 「iOS」如何在一个工程里引用其他工程
想必很多程序猿都见过那些第三方的框架里边引用其他的工程的代码,初见觉得非常高大上,但是完全没有头绪,一直抱着羡慕的心态就这么不了了之了。后来我们项目里需要引入googleDrive的框架,遇到了一些问题,没办法只能抱着电脑找老大解决,给我解释了一通,貌似是路径问题,当时只是解决了问题,自己也没有去研究,今天看到有人提问相关问题,就想趁此机会总结一下~引用工程这里我准备了两个demo(AutoL
2017-06-04 09:42:51 4481 3
原创 Xcode中蓝色文件夹和黄色文件夹的区别
蓝色文件夹蓝色文件夹(folder)一般作为资源文件夹使用,与黄色文件夹的主要区别是不参与编译,所以说如果你在这些文件夹下编写的逻辑代码是不参与编译的,其他文件也不能直接引用它们,若引用其中文件需要全路径。添加方式:选择Create folder references黄色文件夹黄色文件夹(group)是逻辑文件夹,主要是为了逻辑上的分组,如果手动创建(通过New Gro
2017-06-04 09:42:48 1773
原创 关于Xcode的Other Linker Flags
摘要: 在ios开发过程中,有时候会用到第三方的静态库(.a文件),然后导入后发现编译正常但运行时会出现selector not recognized的错误,从而导致app闪退。接着仔细阅读库文件的说明文档,你可能会在文档中发现诸如在Other Linker Flags中加入-ObjC或者-all_load这样的解决方法。 那么,Other Linker Flags到底是用来干什么的呢?还有-Ob
2017-06-04 09:42:45 219
原创 Cocopods安装使用和错误
Cocopods的安装CocoaPods应该是iOS最常用最有名的类库管理当我们开发iOS应用时,会经常使用到很多第三方开源类库,比如AFNetWorking等等,可能某个类库又用到其他的库,手动一个个去下载所需类库十分麻烦。如果我们项目中用到的类库有更新,还要重新下载新版本,重新加入到项目中,十分麻烦。所以,我们需要 CocoaPods帮我们管理。如何下载和安装CocoaPods?在安装
2017-06-04 09:42:42 347
原创 什么是高内聚、低耦合?
起因:模块独立性指每个模块只完成系统要求的独立子功能,并且与其他模块的联系最少且接口简单,两个定性的度量标准――耦合性和内聚性。耦合性也称块间联系。指软件系统结构中各模块间相互联系紧密程度的一种度量。模块之间联系越紧密,其耦合性就越强,模块的独立性则越差。模块间耦合高低取决于模块间接口的复杂性、调用的方式及传递的信息。耦合性分类(低――高): 无直接耦合;数据耦合;标记耦合;控制耦合;公共耦合
2017-06-04 09:42:39 478
原创 Xcode一直打印AQDefaultDevice (173): skipping input stream的解决方法
一直不想升级Xcode,但是没办法项目进度只能升级Xcode8,果然不出所料出现了不少bug,Xcode7运行一直没有问题,但是在Xcode8上一直输出AQDefaultDevice (173): skipping input stream网上查到解决办法1.选择 Product -->Scheme-->Edit Scheme2.选择 Arguments3.在Environment Var
2017-06-04 09:42:36 602
原创 「iOS」怎么修改去掉Navigation Bar上的返回按钮文本颜色,箭头颜色以及导航栏按钮的颜色
解决方法 1:自从IOS7后UINavigationBar的一些属性的行为发生了变化.你可以在下图看到:背景颜色self.navigationController.navigationBar.barTintColor = [UIColor blackColor];\//去掉导航条的半透明\Navbar.translucent=YES;按钮颜色(返回按钮的颜色设置)[[UIN
2017-06-04 09:42:34 3866
原创 objective-c 中weak和strong使用的区别(很形象)
(weak和strong)不同的是 当一个对象不再有strong类型的指针指向它的时候 它会被释放 ,即使还有weak型指针指向它。一旦最后一个strong型指针离去 ,这个对象将被释放,所有剩余的weak型指针都将被清除。可能有个例子形容是妥当的。想象我们的对象是一条狗,狗想要跑掉(被释放)。strong型指针就像是栓住的狗。只要你用牵绳挂住狗,狗就不会跑掉。如果有5个人牵着一条狗(
2017-06-04 09:42:31 366
原创 resource fork, Finder information, or similar detritus not allowed 解决方法
解决方法:进入到DerivedData目录,把所有文件都删了。其实就是预编译文件,删了只会影响第一次编译速度,不会影响代码。打开Terminator,cd到工程目录下,执行"xattr -rc .",搞定。
2017-06-04 09:42:28 3209
原创 什么是VIPER 架构模式
从字面意思来理解,VIPER 即 View Interactor Presenter Entity Router(展示器(视图) 交互器 协调器 实体(数据) 路由器),迄今为止,划分责任的粒度是很好的选择。VIPER 在责任划分层面进行 了迭代,VIPER 分为五个层次:展示器 -- 包含 UI 层面的业务逻辑以及在交互器层面的方法调用。交互器 -- 包括关于数据和网络请求的业务逻辑,例如创
2017-06-04 09:42:25 3267
原创 「iOS」Xcode 8 注释快捷键失效的解决方法
单行注释:在方法的地方按Command+/标注的功能,快捷键是Command + Option + /需要在方法名的上面(空白)的地方按Command + Option + / 才管用如果不管用的话 请打开终端,不用选择目录,直接运行:sudo /usr/libexec/xpccachectl。然后重启Xcode ,还不行就要重启电脑。
2017-06-04 09:42:23 709
原创 NSNotificationCenter 的使用详解
通常我们在 iOS 中发生什么事件时该做什么是由 Delegate 实现的,例如 View 加载完后会触发 viewDidLoad。 Apple 还为我们提供了另一种通知响应方式,那就是 NSNotification,系统中(UIKeyboardDidShowNotification 等) 以及某些第三方组件(例如 ASIHTTPRequest 的 kReachabilityChangedNot
2017-06-04 09:42:20 255
原创 NSNotificationCenter使用指南
一个NSNotificationCenter对象(通知中心)提供了在程序中广播消息的机制,它实质上就是一个通知分发表。这个分发表负责维护为各个通知注册的观察者,并在通知到达时,去查找相应的观察者,将通知转发给他们进行处理。本文主要了整理了一下NSNotificationCenter的使用及需要注意的一些问题,并提出了一些未解决的问题,希望能在此得到解答。获取通知中心每个程序都会有一个默认的通
2017-06-04 09:42:17 608
原创 Xcode: bundle format unrecognized, invalid, or unsuitable 解决方法
手机系统升级到10.1.1后 Xcode8.0 不支持 就任性的升级到Xcode8.1 那么你猜对了 坑来了/Users/wudezhi/Library/Developer/Xcode/DerivedData/kyExpress-gwuzzktwodhmlnemsyffjierabxs/Build/Products/Debug-iphonesimulator/TOWebViewContro
2017-06-04 09:42:14 3583
原创 Xcode关于警告AutomaticPreferredMaxLayoutWidth的消除方法
Xcode关于警告AutomaticPreferredMaxLayoutWidth的消除方法在iOS开发中,如果使用到了storyboard与xib文件并且使用autolayout进行自动布局,有时会报出Automatic Preferred Max Layout Width before iOS8.0的警告。工程中如果兼容的iOS版本为iOS8.0一下,并且使用了多行UILabel控件,往往在
2017-06-04 09:42:12 240
原创 git .gitignore失效的解决办法
本文作者陈云峰,转载请注明。前言在使用Git这个多人协作的代码版本控制工具时,为了避免每次提交修改代码时,一些预期外的无用文件的改动同时被提交并加入版本控制,需要将一些和代码无关的无用文件排除在版本控制外,此时也就需要使用.gitignore文件来指定这些需要忽略的文件信息。不同类型的工程都有一些通用的.gitignore范本,一般在项目初始化以后,直接按照范本加入.gitignore文件即
2017-06-04 09:42:09 333
转载 如何构建一个中型的 web 应用(全栈技术)
计算机界的轮子已经如此之多,我的观点是技术不转化成应用是没有价值的,本文主要挑选了一些技术,复用一些优秀的轮子,用最小的成本构建自己的 web 应用。主要内容界面设计boostrap twitter 出品的响应式框架,可以快速构建优美的前端界面material-design-lite Google 出品的Material Design 风格的前端框架前端库 /框架jquery 方便快捷地操纵 do
2017-06-01 23:43:17 356
原创 3分钟实现「iOS」语言本地化/国际化(图文详解)
前言语言本地化,又叫做语言国际化。是指根据用户操作系统的语言设置,自动将应用程序的语言设置为和用户操作系统语言一致的语言。往往一些应用程序需要提供给多个国家的人群使用,或者一个国家有多种语言,这就要求应用程序所展示的文字、图片等信息,能够让讲不同语言的用户读懂、看懂。进而提出为同一个应用程序适配多种语言,也即是国际化。语言国际化之所以又叫做语言本地化,这是站在每个用户的角度而言的,是指能够让用户本地
2017-06-01 01:02:23 1813 2
VMware-workstation-6.5汉化补丁VMware6.5汉化补丁 VMware6.5中文 VMware6.5简体中文
2009-04-04
计算机网络(第4版)中文版PDF完美版part1(All 4 Parts)
2008-09-13
计算机网络(第4版)中文版PDF完美版part2(All 4 Parts)
2008-09-13
计算机网络(第4版)中文版PDF完美版part3(All 4 Parts)
2008-09-13
计算机网络(第4版)中文版PDF完美版part4(All 4 Parts)
2008-09-13
C++之父Bjarne Stroustrup 的C++ Style and Technique FAQ
2008-07-06
在单文档程序中动态切换多个窗体的源码程序
2007-12-16
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人