自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(64)
  • 资源 (3)
  • 问答 (4)
  • 收藏
  • 关注

原创 超级简单的Swift5入门实例

Swift已经版本5了,越来越普及,作为一只一直写OC的猿,很有必要学习下,花了点时间写了下基础的Swift,之前看Swift语法也有几次了,但是不用一下就忘记了,果然还是动手才是真的,看东西比较虚,强烈建议只是看了几遍Swift语法的同学,写下简单的Swift,这样提升还是很大的,哪怕是看着别人的项目练手。 上传个超级简单的Swift项目,无涉及数据库,掌握了话基...

2020-01-10 17:21:15 2508

原创 iOS基础知识8

一、addObserver:forkeyPath:options:context:各个参数的作用分别是什么?observer中需要实现哪个方法才能获得KVO回调?iOS中通知方面的内容:NSNotificationCenter通知中心、KVO(Key-Value Observing)键值观察 、Delegate代理、Callback回调。KVO是Key-Value Observing的缩写...

2019-10-30 13:08:48 757

原创 Mac浏览器打不开百度网页

不论是Mac的safari或者是火狐浏览器,一度曾打不开百度,打不开很多网页,找了很久都没解决,最后是代理的问题,进入系统偏好设置->网络->高级->代理后,把网页代理(HTTP)以及(HTTPS)勾选去掉,回头点开百度,打开了,不胜欢喜。...

2019-06-17 15:04:12 22758 4

原创 iOS定位权限弹框闪烁弹出后忽然消失

这种情况是定位对象设置为局部对象造成了,需要设置定位对象为全局对象,然后权限允许弹框正常,其他权限应同理。

2019-05-24 11:37:36 1537

原创 Xcode工程加载H5本地文件 H5里面引入js/css文件

在本地的H5项目里面,还有js/css文件,使用WKWebview怎么样把H5界面加载出来?首先把H5项目文件夹拷贝到Xcode项目下在Xcode里面,显示是绿色的文件夹,而不是黄色的文件夹。然后编写代码:[_wkWebView loadRequest:[NSURLRequest requestWithURL:[NSURL fileURLWithPath:[[NSBundle...

2019-05-09 11:45:25 1768

原创 智慧黔南隐私政策

智慧黔南尊重并保护所有使用服务用户的个人隐私权。为了给您提供更准确、更有个性化的服务,智慧黔南会按照本隐私权政策的规定使用和披露您的个人信息。但智慧黔南将以高度的勤勉、审慎义务对待这些信息。除本隐私权政策另有规定外,在未征得您事先许可的情况下,智慧黔南不会将这些信息对外披露或向第三方提供。智慧黔南会不时更新本隐私权政策。 您在同意智慧黔南服务使用协议之时,即视为您已经同意本隐私权政策全部内容。本隐...

2018-12-06 11:31:13 507

原创 iOS app开发第三方库

1、网络库网络库AFNetworking。以前用ASIHTTPRequest。2、图片下载图片下载和缓存一般就用SDWebImage这个第三方库。3、数据库第三方的fmdb以及iOS的CoreData。4、模型与字典互转推荐的库是MJExtension。5、自动布局iOS自带xib/Storyboard,推荐Masonry

2017-09-20 19:41:53 403

原创 iOS CoreData

iOS CoreData在以前使用的时候,Create NSManagedObject Subclass...生成两个文件,如今的iOS版本生成的是4个文件,都是创建NSManagedObject。这样在开始编译时可能会遇到错误,我们可以删掉如下图所指的地方就可以了。CoreData简单实现增删改查://// ViewController.m

2017-09-16 15:57:12 396

原创 iOS Runtime

Objective-C是一门动态语言,编译后的代码还需要一个运行时系统才能执行。我们写的代码方法调用[target doSomething];,实际上会被转化成Runtime的C代码执行objc_msgSend(target, @selector(doSomething));。在Runtime中方法、实例变量、类别、属性、类的描述:/// An opaque type that

2017-09-13 15:01:44 241

原创 Xcode报错:"Geo::GetiOSAppDocumentsDir()",Geo::PathUtils::GetSandboxDataPath()

创建了一个React Native工程,工程里有iOS部分,iOS部分的React Native的一些第三方库需要在iOS部分进行配置。在React Native工程中的iOS部分导入Unity导出的iOS工程,需要把Unity导出的iOS工程中的一些文件夹拷贝到React Native工程中的iOS部分,并且要设置头文件和库的路径,然后编译合并的工程。编译时Xcode报错:Undef

2017-09-09 21:49:51 858

原创 Xcode报错:embedded dylibs/frameworks are only supported on iOS 8.0 and later

ld: embedded dylibs/frameworks are only supported on iOS 8.0 and later (@rpath/XCTest.framework/XCTest) for architecture armv7以前好久的代码,今天来编译时,发现出现了上面这个错误了,认真观察这个错误,是frameworks要再iOS 8.0以上环境才行,然后

2017-09-09 09:43:27 1044

转载 iOS基础知识9

一、IBOutlet连出来的视图属性为什么可以被设置成weak?既然有外链那么视图在xib或者storyboard中肯定存在,视图已经对它有一个强引用了,所以设置成weak比较好。不过这样漏了个重要知识,使用storyboard(xib不行)创建的VC,会有一个叫_topLevelObjectsToKeepAliveFromStoryboard的私有数组强引用所有top level

2017-09-08 20:16:17 235

原创 iOS基础知识7

一、GCD的队列(dispatch_queue_t)分哪两种类型?GCD队列分两种类型,串行队列Serial Dispatch Queue和并行队列Concurrent Dispatch Queue。队列可以接受任务,并且按照任务先到先执行的顺序来执行。二、如何用GCD同步若干个异步调用?(如根据若干个url异步加载多张图片,然后在都下载完成后合成一张整图)?使

2017-09-08 15:42:00 312

原创 iOS基础知识6

一、使用block时什么情况会发生循环引用,如何解决?一个对象中强引用了block,在block中又强引用了该对象,就会发生循环引用。解决方法是将该对象使用__weak或者__block修饰符修饰之后再在block中使用。1、id __weak weakSelf = self;或者__weak __typeof(self) weakSelf = self;2、i

2017-09-08 14:30:24 250

原创 iOS基础知识6

一、使用block时什么情况会发生循环引用,如何解决?一个对象中强引用了block,在block中又强引用了该对象,就会发生循环引用。解决方法是将该对象使用__weak或者__block修饰符修饰之后再在block中使用。1、id __weak weakSelf = self;或者__weak __typeof(self) weakSelf = self;2、i

2017-09-08 12:59:58 192

原创 iOS基础知识6

一、使用block时什么情况会发生循环引用,如何解决?一个对象中强引用了block,在block中又强引用了该对象,就会发生循环引用。解决方法是将该对象使用__weak或者__block修饰符修饰之后再在block中使用。1、id __weak weakSelf = self;或者__weak __typeof(self) weakSelf = self;2、id

2017-09-07 23:59:45 289

原创 iOS基础知识5

一、objc使用什么机制管理对象内存?通过retainCount的机制来决定对象是否需要释放。每次RunLoop的时候,都会检查对象的retainCount,如果retainCount 为0,说明该对象没有地方需要继续使用了,可以释放掉。二、ARC通过什么方式帮助开发者管理内存?ARC相对于MRC,不是在编译时添加retain、release、autorel

2017-09-07 18:09:10 730

原创 iOS基础知识4

一、RunLoop和线程有什么关系?每个线程,包括主线程(main thread),都有与之对应的RunLoop对象。主线程的RunLoop是默认启动的,子线程的RunLoop默认是不开启的,需要手动开启子线程的RunLoop。iOS程序里面,程序启动后会有这样的一个main()函数:int main(int argc, char * argv[]) { @autore

2017-09-07 16:00:30 214

原创 iOS基础知识3

一、Runtime如何通过selector找到对应的IMP地址?(分别考虑类方法和实例方法)每一个类对象中都一个方法列表,方法列表中记录着方法的名称、方法实现、以及参数类型,其实selector本质就是方法名称,通过这个方法名称就可以在方法列表中找到对应的方法实现。二、使用Runtime Associate方法关联的对象,需要在主对象dealloc的时候释放么?

2017-09-07 15:04:22 249

原创 iOS基础知识2

一、objc中向一个nil对象发送消息将会发生什么?什么都不会发生!SomeClass *someObject;someObject = nil;[someObject doSomething];向nil发送了doSomething,OC中nil是被当做0定义的。也就是说Runtime时要去获取这个nil的信息,会去读取内存中0的位置,这肯定是不允许的,根据返回值类型,会返回nil

2017-09-07 14:14:55 300

原创 iOS基础知识1

一、@property中有哪些属性关键字?1、strong:释放旧对象将旧对象的值赋予输入对象,再提高输入对象的索引计数为1,此关键字经常使用。2、weak:不增加引用计数,不持有对象,因此也不能决定对象释放,对比assign的一个好处是,当对象消失时指针自动归为nil。3、assign:适用于基础数据类型(NSInteger、CGFloat、...)不增加引用计数。4、copy:

2017-09-06 23:24:43 536

转载 Objective-c的类目、延展、协议

概述OC用于拓展已存在类的内置功能是它最强大的功能之一。类目、延展、协议提供了可以让你扩展类功能的方式。使用他们,无需继承便可以扩展类功能。需要注意的是,这些手段只能增加类的方法,并不能用于增加实例变量,要想增加实例变量,还是需要定义子类来实现。1、类目(Category):指向已知的类,增加新的方法,不会破坏封装性。已知的类既包括已定义的类,也包括系统已有的类。2、延展(

2017-09-05 14:42:50 420

转载 iOS的成员变量、实例变量、属性变量

一、版本对比     在以前的iOS版本中:     我们为输出口同时声明了属性和底层实例变量,那时,属性是oc语言的一个新的机制,并且要求你必须声明与之对应的实例变量,例如:     注意:(这个是以前的用法)@interface MyViewController :UIViewController{ UIButton *myButton;}@pro

2017-09-04 19:05:38 324

原创 iOS的GCD怎么样实现同步

GCD下怎么样实现同步操作?这里有四种思路。第一串行队列,第二并行队列,第三分组,第四信号量。GCD下的dispatch_queue队列都是FIFO队列,就是按照提交到队列中的顺序执行,那这里分串行队列和并行队列是什么情况呢?串行队列是提交到队列里的任务按照提交的顺序执行,并且是执行完了上一个任务后再执行下一个任务;并行队列同样按照提交的顺序执行,不过不想串行队列一个任务执行完了后再执行下

2017-08-31 22:12:15 369

转载 React-native 第三方组件

选项卡各种漂亮的小组件按钮输入框表单验证https://github.com/gcanti/tcomb-form-nativehttps://github.com/FaridSafi/react-native-gifted-formhttps://github.com/bartonhammond/snowflake炫酷效果的 TextInputhttps://git

2017-06-15 10:58:57 6416

转载 iOS updateViewConstraints

- (void)updateViewConstraints NS_AVAILABLE_IOS(6_0);  UIViewController中也新增了一个更新布局约束的方法,在AutoLayout UIView相关API的笔记中,详细讲述了UIView的一组更新布局约束的方法。这个方法默认的实现是调用对应View的 -updateConstraints 。ViewContro

2017-05-12 10:51:31 1890

原创 iOS仿微信联系人界面中联系人按姓名首字母分类UILocalizedIndexedCollation

字母分组排序神器:UILocalizedIndexedCollation- (void)configureTableViewSection { // 实例化 UILocalizedIndexedCollation *collation = [UILocalizedIndexedCollation currentCollation]; // [coll

2017-05-10 11:00:02 1153

转载 NSDate相差8个小时

直接看代码,有详细的注释可以知道具体怎么用:[objc] view plain copy NSDate * date = [NSDate date];    NSLog(@"date:%@", date);    NSDateFormatter * outputFormatter = [[NSDateFormatter alloc

2017-04-18 10:22:59 499

原创 iOS RunLoop

RunLoop表面意思运行循环,内部是由do-while循环实现。作用保证程序的持续运行,处理app的各种事件(滑动、定时器、selector等)、节省CPU资源。->如果没有RunLoop,以main函数入口为例:int main(int argc, char * argv[]) { NSLog(@"执行"); // 程序开始 return 0; //

2017-04-11 13:52:26 309

原创 drawRect方法

iOS在任何时候需要更新视图都是通过调用drawRect方法。->视图在屏幕上是新的->顶部视图被移除->视图的hidden属性改变->明确调用setNeedsDisplay()和setNeedsDisplayInRect()方法如果你需要更新视图,不要直接调用drawRect方法,调用setNeedsDisplay()方法。

2017-04-11 10:14:06 1121

原创 共享桌面iOS

记录iOS用cotvnc实现的共享桌面,cotvnc本来用于Mac OS x 的库,需要改些代码用于iOS。#pragma mark - VNC connect- (void)configureVNCShow { self.oneVNCView = [[VNCView alloc] initWithFrame:CGRectMake(0.0, 0.0, currentNee

2017-04-06 15:18:08 2108 6

原创 Swift简单列表

得到一个UITableView实例: @IBOutlet var showHomeTBView: UITableView?同样的实现其数据源方法和代理方法: // MARK: - UITableViewDataSource UITableViewDelegate func numberOfSections(in tableView: UITableView) ->

2017-04-05 16:39:20 781

转载 iOS中property和synthesize的详细说明

我们要在一个类中定义属性,首先是要在.h文件中(或者说是在.m文件中的@interface的作用域中)使用关键字property来进行属性的声明,同时,在xcode的4.5版本以前,如果我们想要直接用属性名前面加上下划线构成的变量来进行操作的话,需要在.m文件中写上@synthesize student = _student(这里就用student代表一个属性),这样才能编译通过,成功使用_stu

2017-03-22 14:18:08 5346

原创 iOS UITableView和UITableViewCell滚动和NSTimer计时

UITableViewCell上有个UILabel,显示NSTimer实现的秒表时间,手指滚动UITableViewCell的过程中,label是否刷新。        这是否刷新取决于timer加入到Run Loop中得Mode是什么,Mode主要是用来指定事件在运行循环中得优先级,有:        1、NSDefaultRunLoopMode(KCFRunLoopDefaultMod

2017-03-20 11:44:32 2210

转载 iOS的initWithFrame、initWithCoder、awakeFromNib

当我们需要自定义一个View控件时,会有 initWithFrame、initWithCoder、awakeFromNib 这三个系统方法,关于这三个方法何时调用,如何调用,有时候可能很多人会弄混淆。  下面我会就理论结合代码举例来说明一下:1、initWithFrame- (instancetype)initWithFrame:(CGRect)frame{

2017-03-17 14:38:33 664

转载 Objective-C的initialize和init

Objective-C很有趣的一个地方是,它非常非常像C。实际上,它就是C语言加上一些其他扩展和一个运行时间(runtime)。有了这个在每个Objective-C程序中都会起作用的附加运行时间,给了它一些动态的特性。C和C++没有运行时间,他们仅仅被编译为完全按照代码的顺序去执行,不多也不少。Objective-C中带有运行时间的好处是,它可以在你的程序运行的流程中进行参与。在Objec

2017-03-17 14:05:49 491

原创 iOS8 模态视图跳转动画

UIPresentationController是iOS8以后出来的类,可以自定义模态视图跳转动画。      我现在Storyboard创建个视图控制器ShowInfoViewController,这就是我要跳转到的视图控制器。想要自定义跳转动画,先要设置视图控制器实例的modalPresentationStyle为UIModalPresentationCustom。然后实现设置该实例的UI

2017-03-17 09:28:41 1545

原创 Storyboard搭建最基本的iOS app骨架

用Storyboard搭建的iOS app骨架如图1。                                                                                                                              图11、把Storyboard中的控制器都删掉,拉取一个Tab

2017-03-14 10:26:05 1212

原创 WKWebView与JS交互

WKWebView是苹果在iOS8推出的,用来替换UIWebView,相比UIWebView,WKWebView速度更快,占用内存更少。Objective-C与JS交互的办法大致有:1、UIWebView拦截URL和WKWebView拦截URL。2、UIWebView调用JavaScriptCore,JavaScriptCore是iOS7新添加的框架。3、WKWebView使用WK

2017-03-13 15:06:15 13393

原创 CoreData存储NSDictionary、NSArray

CoreData是苹果推出的一个数据存储框架。CoreData提供了一种对象关系映射(ORM)的存储关系,CoreData可以将OC对象存储到数据库中,也可以将数据库中的数据转化为OC对象,这个过程不需要手动编写任何SQL语句,这是系统完成的,不像SQLite和FMDB。        CoreData里的类看着确实很头疼,常常记不住,不过还是贴出来加深下印象,有以下这四个:

2017-03-10 16:11:35 2926

win7下vs中实现onvif discovery(客户端、服务端)

在VS中运行服务器端程序,可以在ONVIF Device Test Tool中点击Discover Devices找到,运行客户端程序能返回数据。

2013-04-08

五类IP地址介绍

里面介绍了五类IP地址,很方面查阅。It introduces five types of IP address, it is in terms of reference.

2013-04-03

数据结构(c语言)

学习数据结构很好的教材,很容易懂,c语言版本,非常不错。

2013-03-28

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除