自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(112)
  • 收藏
  • 关注

原创 前端搭建CICD流程

用Docker-compose 安装gitlab、gitlab-runner

2023-01-30 17:08:25 388

原创 HTML实现TabBar布局

HTML实现TabBar布局

2020-08-24 16:00:29 2551

原创 JS原型链和继承图文理解

JS原型链概况JS的构造函数(即一普通的Function),可以理解为面向对象的一个Class, 这里就把Function都叫做Class吧。文字表现太生涩,没有图片理解形象。function Father() { this.info = ["Zero"]}图1-1这个图中要理解4个东西:1.函数 Fu2.prototype指针3.__proto__对象内部指针4.constructor 指针接下来对这四个东西、进行详细解释:1、函数首先如代码所示,申明了一个Father的

2020-08-06 15:56:48 907

原创 linux 搭建MongoDB 搭建Redis 搭建Node PM2

MongoDB数据库下载 传统Lengency版本:https://www.mongodb.com/download-center?jmp=nav#community1解压:tar -zxvf mongodb-linux-xxx.tgz 2移动到指定目录:mv mongodb-linux-xxx/ /opt/mongodb3设置环境变量vi /etc/profil...

2019-04-20 10:25:07 353

原创 Mac PyCharm Did you install mysqlclient?

安装python 报错:django.core.exceptions.ImproperlyConfigured: Error loading MySQLdb module.Did you install mysqlclient?首先,报这个错误时,我已经在本地环境建好了虚拟环境,如上图一样选择好解释器。可是生成项目的时候,会报错。无论你在虚拟环境安装多少包,它的范围只属于你...

2019-01-20 18:35:06 2178

原创 Mac 安装 Android Studio ,Could not GET 'https://dl.google.com/

新装的Android studio 3.2,刚装上居然叫设置 proxy,1.别理会,直接cancel,下一步。2. 不知为何,第一次安装时老是提示Could not GET 'https://dl.google.com/dl/android/maven2/com/android/tools/build/gradle/3.1.2/gradle-3。设置了build.gradle 中...

2018-10-10 19:58:35 1106

原创 WKWebview 捕获点击事件

1.js注入:let userContent = WKUserContentController()userContent.add(self, name: "quitCourse")let jsContent = " function quit() { window.webkit.messageHandlers.quitCourse.postMessage(null);}(functi...

2018-09-28 13:33:27 11607

原创 Python 老是报找不到包的错误

使用sudo pip install --user xxx  ,后老是报找不到包,其实是mac把包安装到了/Library/Python/2.7/site-packages,这是根目录上的python,但是实际sublimeText使用的包目录在/Users/kanglin/Library/Python/2.7/lib/python/site-packages。实在没有办法,把根目录上的sit...

2018-09-26 14:07:58 1435

原创 Mac Python 安装 scikit-image

命令:sudo pip install --ignore-installed --user scikit-image之前没加--ignore-installed --user,一直报各种错误,加了之后就可以顺利安装了

2018-07-17 17:26:16 2379 1

原创 CSS 面向对象注意事项

参考网站:OOCSS主要的两个原则2.   结构与皮肤相分离 age structure (width, height, margins, padding) from appearance (fonts, colors, animations)/* Structure */.side-widget {  width:100%;  

2017-03-15 16:28:35 223

原创 storyboard 自动布局

参考文章https://www.weheartswift.com/auto-layout-101/1. 各个选项的含义Leading space to container:  view左边界到容器左边界的距离Trailing Space to Container:  view右边界到容器右边界的距离同理 Top space to container, 和 Bottom

2017-03-10 19:20:54 1198

原创 swift 如何使用 for(i=0;i<n;i++)

for i in 0..<results!.count{ let resultItem = results![i] as? Result let updateResultItem = Result(className: "Result", objectId: (resultItem?.objectId)!)

2017-03-10 19:04:52 1427

原创 swift 自定义字体使用

在info.plist 中加入Fonts provided by application,写入自定义字体的xxx.ttf直接托自定义字体拖入项目即可。如何获取ttf的名字?直接双击xxx.ttf加入字体库到电脑,postScript为字体的名字。如何调用myNameLabel.font =UIFont(name: "MComicHKS-Medium",

2017-03-10 18:57:23 1587

原创 Implement localization swift 本地化

1. 创建Single View Application2.增加语言,点击项目target,选择你想要的语言3.添加Localizable.strings, 新建String文件,并命名为Localizable.strings。4.在Localizable.strings,文件右侧添加语言支持,添加之后会有两个文件之后开始写本地化

2017-03-08 20:15:34 337

原创 内存、变量 相关

1. 变量的复制操作是不会复制内存地址的,内存等于同一个地址例: class A{} a = A() let b = ab、和 a 指向同一个地址。

2017-03-08 19:51:02 165

原创 swfit 的 get 和 set 方法, willSet 和 didSet

struct Rect { var origin = Point() var size = Size() var center: Point { get { let centerX = origin.x + (size.width / 2) let centerY = origin.y + (size.height

2017-03-07 19:08:02 414

原创 unowned self, 和 weak delegate

解除循环引用,不被释放,  必须是自己的实例属性。Swfit 3.0语法:带参数//block ,closure definetion lazy var someClosureName:(Int,String)->String = { [unowned self, weak delegate = self.delegate!] (index:Int,stringToProc

2017-03-07 18:45:06 227

原创 打你球球 App 发布啦

经过一段时间的准备,这款娱乐小游戏终于和大家见面了。游戏仿真重力和碰撞,你玩的不是一般的球。游戏作者当然是本人啦,本人联系方式linmyfour@gamil.com,有什么想要讨论的可以通过邮件和我联系。当然此款游戏设计,还是比较简单易玩,后期将根据情况加深体验度。游戏的Icon,启动页都是自己到想办法设计出来的,没有美工能弄成这样,我也是满足了。在这里谢谢这两个月来的努力。谢

2017-03-01 17:55:21 487

原创 object-c和swift 混编

1.创建桥接头文件,新建头文件,命名为“-Bridging-Header.h”2.在-Bridging-Header.h 中引入object-c 头文件,如 #import 但是注意了,引用之后,在swift中的使用方式也变成了,swift的语法3.设置文件索引,在build setting中,搜索 bridge ,在Object-c Bridging Header中填入-Brid

2017-02-13 16:49:04 237

原创 关于 cocoapods 的使用

为什么要用cocoapods ,很简单,第三方库通常需要依耐很多框架,和一些特别的xcode设置,手动添加很繁琐,因此就有了cocoapods,自动给我们的项目添加依耐。如果出现:diff: /../Podfile.lock: No such file or directorydiff: /Manifest.lock: No such file or directoryerro

2017-02-13 16:38:12 162

原创 本地通知 NotificationCenter

注册通知       NotificationCenter.default.addObserver(self, selector: #selector(addResultView(_:)), name:NSNotification.Name(rawValue:addGameResultsNotifiName), object:nil)移除通知   Notif

2017-02-03 22:58:35 182

原创 MVC 模型 实践

1. 事件响应方法一定在Controller层,即使在subview中新建的控件。 gameResultView.resetButton.addTarget(self, action: #selector(resetTouched(_:)), for: .touchUpInside)2. View层就只负责UI的显示,用户手势等的响应。3.Model层负责数据逻辑,有时

2017-02-03 22:54:01 146

原创 将业务和功能分开

功能就是功能,业务就是业务,不能将两者揉在一起,这样可以提高d代码复用率,举例:// AudioPlayer.swift// DropProjectsGame//// Created by lin kang on 17/1/29.// Copyright © 2017年 lin kang. All rights reserved.//import UIKitimpo

2017-02-03 22:39:24 792

原创 ios swift 图形的旋转 atan2 函数

首先要理解 反正切函数,上图来解释: 由于iphone坐标系统的原因,此图y轴向下增大。atan2(y,x) 其实求得是A点与x轴正方形的夹角。A = -2.0 rad, A' = -0.75 rad 求转过的角度 mRotate : -0.75 - (- 2.0) = 1.25 正值。 ps:(A' - A)在x轴下方也是同样正值。反之,逆时针旋转时,转过的角度为负

2017-01-28 20:30:58 2415

原创 swfit 实现代理 和 单例

代理实现:protocol FallingObjectDatasourceDelegate:class{ func didCollisionWithTheBallBundary(sender:FallingObjectDatasource , numberOfDisappearedBalls:Int) func didCollisionWithTheBottomBundary(

2017-01-24 22:48:27 306

原创 opitoanal type unwarped 总结

如果报如题错误,说明你在使用一个optional的值,需要加上一个! 已表示unwraped。但是如果在一个for循环中使用了optional的值,也会同样报错,当然我想的是数组为空时不要循环了,可是必须不为空,真是郁闷。于是,只有这么处理了import UIKit@objc(LevelResponse)class LevelResponse: NSObject {

2017-01-23 22:18:38 299

原创 Deserialize JSON / NSDictionary to Swift objects 将JSON 或Dic转为类对象

三篇参考文章:http://stackoverflow.com/questions/24310324/deserialize-json-nsdictionary-to-swift-objects,                        http://swift.oz-apps.com/2015/04/creating-a-class-from-a-string-in-swift/

2017-01-22 18:39:35 818

原创 IOS COREDATA SWIFT 创建关系和新建模型类

1.新建两个entity,如图所示最方便的途径是,点击  右边三个方块图案,直接Ctrl+drag鼠标就行。创建后点击relationship,对其"Type"进行编辑,是1对多,还是1对1.最后创建Model的类,如图create NSManagedObject Subclass.这里要注意,必须将Entity的class Module,Cod

2017-01-18 23:19:10 361

原创 IOS SWIFT CORE DATA 储存,查询,

新建项目时,勾选使用coredata,Appdelegate中会自动添加coredata相关代码。如果之前没有勾选,那么重新拷贝过来也行,不过要在        let container =NSPersistentContainer(name: "HitList")将name更改。更改的名字为新建的model的名字。如何创建:File->new->file 选择如

2017-01-18 23:13:57 423

原创 IOS 将逻辑和视图分开 代码易读性和复用性大大增加

记得之前看了一本书,[精通Objective-C设计模式].(Pro.Objective-C.Design.Patterns.for.iOS).Carlo.Chung.文字版.pdf书中再次提到一定要把View层分开,阐述了View就是接受用户事件,绘制UI界面的地方。这几天在写一个小游戏的时候,无意中在View层中加入了很多逻辑处理代码,代码的可读性简直糟糕。于是再次想到了《

2017-01-16 21:01:49 1048

原创 ios layoutSubviews 使用注意

直接上代码:override func layoutSubviews() { super.layoutSubviews() let originX = (self.width-self.paddleSize.width)/2.0 let orignY = self.hight - 20-self.paddleSize.height; let

2017-01-11 17:08:43 625

原创 swift 请小心使用你的get方法,should be a descendant of reference view

如果你在用swift的get创建subview那么小心了,你每次使用该对象时都会重新初始化,你在其他地方相同属性代码会被覆盖。举例说明:我在这里初始化BallView var ballView:BallView{ let ballView = BallView(frame: CGRect(origin: CGPoint(x:self.center.x-40,y:self

2017-01-08 21:51:00 643

原创 代码优化 为状态类写个函数

例如,某游戏有赢,输,平手,每个状态有不同背景,有不同文字提醒。如果集中在一个函数中处理,那么就要添加很多if语句,代码臃肿,且难以阅读。下面是优化前的代码: func compareSign(mySign:Sign) { let computerSign:Sign = randomSign()! let gameState = mySign.cacula

2017-01-02 10:30:36 279

原创 swift ? 问号 和 !叹号 操作符的作用

? 为空时程序不会报错。 ! 为空时调用会发生runtime错误“if let firstRoomName = john.residence?[0].name ”“var testScores = ["Dave": [86, 82, 84], "Bev": [79, 94, 81]]testScores["Dave"]?[0] = 91testScores["Bev"]?[0] +=

2016-12-28 23:38:11 411

原创 xcode8 StoryBoard 编辑,屏幕适配

1. Choose Editor > Canvas > Show Bounds Rectangles to display an outline of everything on the scene.让控件的边框变为蓝色。2. 创建Action的时候可以选择参数类型。这样就不会为AnyObject。3.让控件居中显示,让Horizontally 和vertically

2016-12-27 23:57:36 581

原创 递归的调用顺序

铺地板:地板长度为4宽为1, 砖头为1x1 ,1x2。一共有多少种方法填满地板,递归解题。static int n = 4;static int result=0;static void getresult(int len){ if(len==n) {result++; return ;} if(len>n) return;

2016-12-25 18:23:06 725

原创 swift 3 函数

收获~~~标准的写法:func 函数名(Argement Label Parameter Name:类型)func testFunc(to fuck:String)->String{    print(fuck);    return fuck+"xxx";}testFunc(to: "你们")省略Argument Labelfunc tes

2016-12-25 17:40:53 191

原创 今天开始认真学习~明天计划

读书收获,  1,看书技巧:先总览,后选需要的各个击破。  2, 勿追新,基础夯实才可靠   明天安排:  1,空闲申请苹果账号。  2.加快速度学习Swift.     3.空闲时看书   中期计划  1.把之前程序上传appStore.  2.Swift写日记程序,并上传。

2016-12-23 00:27:36 330

原创 swift 命名,字符串

命名:let  numberOfDogs = 6 +2;字符串连接: let finishedMessage = username + "xx" + password;字符串打印值: let  food = "i like\(favoriteFood) because it is\(reason)"p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font:

2016-12-14 09:49:54 136

原创 移动混合开发之文件管理Final之总结

从昨天开始:2016年7月日,早晨用时1+2个小时左右,最开始还怀疑自己能否解决,但是最终还是自己解决,所以下次遇到问题,最好还是尽量尝试自己解决。1.css在设计的时候,一定要把父元素的长宽高指定。2.设置rem时,是对html的设置3./*注意:.scroll-list li 或索引到所有子类的Li*/

2016-12-14 09:49:52 66

空空如也

空空如也

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

TA关注的人

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