自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

享受开发,颠倒银河

成功和未成功有时只差一次坚持!

  • 博客(23)
  • 资源 (8)
  • 收藏
  • 关注

翻译 Swift:Foundation框架中的NS前缀的由来

可能大家对于著名的NS前缀的由来有一些疑问.绝大多数这些NS前缀的类是NeXTSTEP操作系统中Foundation框架里的一部分,而该操作系统是OS X的基础.NeXTSTEP的程序员对它们的类和函数使用NX前缀.这个前缀在NeXT和Sun合作创建OpenStep之后被改为NS,OpenStep是一个面向对象的框架,它用来在其他平台上提供类似于NeXTSTEP的环境.所以,取决于你向谁提出这个问题

2016-07-31 08:45:05 2266 1

原创 Swift中关于任意类型的数组

在Objc中你是不可以把一个非对象类型放入数组的,你必须将其”封箱”,然后再放入数组.在Swift中你可将非对象类型轻松放入数组:let ary = [1,2,3]你可以明确指定元素类型:let ary:[Int] = [1,2,3]不过你不可以在一个数组中包括不同类型的元素,除非你使用AnyObject类型:class Foo{}let ary:[AnyObjec

2016-07-29 14:54:55 3933

翻译 Swift:消除Null值

由于在现代编程语言中这个无所不在的概念,许多程序猿可能倾向于相信null值是一个必须存在的瑕疵,创建一个没有它的编程语言是不可能的.他们可能会惊奇那些许多没有null值活的也很好的语言,这带来的结果就是,null绝不是编程语言中的必要组成部分!比如说函数型的编程语言Haskell就没有null值.作为替代,它使用一个称为Maybe的数据类型去表示未知值.Haskell的Maybe类型是一个代数数据类

2016-07-28 15:35:33 2785

翻译 Swift中的可选协议和方法的历史渊源

@objc protocol Transaction { func commit() -> Bool optional func isComplete() -> Bool }以上协议被标示为@objc属性,使得它兼容Objective-c代码.如果协议拥有可选的协议或属性的话这是必须的,因为Swift要使用Objective-C运行时去检查类所遵守的可选方法是否存在.不幸的是,这

2016-07-25 07:46:28 1431

原创 Swift类型推测在可选调用中的小提示

我们知道Swift中协议里也有对应于Objc中的可选方法或计算属性,当然协议必须以@objc伪指令修饰否则不可以哦.如下示例:@objc protocol Transaction{ fun commit()->Bool optional fun isComplete()->Bool}我们写一个类遵守Transaction协议的类:class DBTransaction:Transa

2016-07-24 10:47:40 1024

原创 Swift按照数组元素出现的次数及大小排序

要求如下:1、已知一个数组,按照单个元素在数组中出现的次数作为重新排序的依据,个数多的排在前面2、相同个数时候,元素值大的排前面例子:[1, 2, 2, 3, 5, 5]经过计算得到的结果是:[5, 5, 2, 2, 3, 1]一种解决方法是:import UIKitextension Sequence where Iterator.Element == Int{ private fu

2016-07-21 12:05:37 3290 2

原创 Swift3中如何为Array写一个限定Type的扩展

我们知道Swift可以扩展已存在的类或结构,这些类或结构可以存在于标准库(或称为核心库)中.如果结构是一个集合类型(比如Array)就更有趣了.我们想尝试写一个限定Type数组的扩展,So我们就拿Array为例吧.本猫想是不是可以这么写:extension Array{ //....}不过显然不可以 :[翻看了一下Apple官方的Swift编程语言,一无所获.于是上网溜了

2016-07-21 09:25:14 3592

翻译 Thread Pools

许多程序会动态创建数十个设置上百个线程.举个例子,一个web服务器可能在每一个新到来的请求时创建一个新线程,然后在请求完成后将其终止.然而,创建一个新线程将会带来一定的耗费:它需要在内核中创建自身必要的数据结构(并且最终销毁),它需要一定时间来设置这些数据结构.虽然内核对于创建一个新线程已经非常有效率了,但是那些需要创建成百上千线程的程序来说,这依然是性能的瓶颈所在.线程池是被设计用来

2016-07-20 18:16:11 2302

原创 Swift3的playground中对UI直接测试支持的改变

我们知道在Xcode的playground中不仅可以测试console代码,还可以测试UI代码,甚至我们可以测试SpriteKit中的场景,有兴趣的童鞋可以看我之前写的这一篇blog:Xcode的playground中对于SpriteKit物理对象的更新为何无效而在本篇中我们只是简单聊一聊最新的Xcode8.0 beta2(以下简称Xcode8b2)中playground对UIKit支持有了哪些改变

2016-07-19 18:08:16 4767

翻译 KVO and Swift

不像Objective-c中的类,Swift类对于KVO并没有原生的支持,不过你可以在类型安全的前提下使用属性观察者轻松的完成相同的目标.不管如何,从NSObject类派生出的类是支持KVO的,如果你想在不使用属性观察者的情况下使用KVO,你只要从NSObject类中继承你的类.不幸的是,即使从NSObject类派生,KVO也不是自动开启的,你希望用KVO观察的属性必须用dynamic关键

2016-07-18 09:55:25 2008

原创 MacOS和iOS开发中异步调用与多线程的区别

很多童鞋可能对Apple开发中的异步调用和多线程的区别不是太清楚,这里本猫将用一些简单的示例来展示一下它们到底直观上有神马不同.首先异步调用可以在同一个线程中,也可以在多个不同的线程中.每个线程都有一个run loop,主线程的运行环称为main run loop,所有和UI界面有关的操作必须在主运行环中完成.在run loop中线程将会轮询消息源发出的消息.比如在MacOS中鼠标就是一个消息

2016-07-18 08:58:25 2469 1

翻译 Xcode Organizational Identifiers

操作系统(不管是iOS或是OS X)使用bundle标识去唯一标识你的应用.Bundle标识由一个组织id和你App的名字组成.一般的,组织id是你域名的反转.如果你的域名是example.com那么你的组织id将会是com.example,并且你的MyApp的bundle标识将会是com.example.MyApp.为毛是域名的反转呢?这是因为在Java世界中反转域名是一种很流行的避免包

2016-07-17 07:59:18 3166

翻译 Swift:Minimizing Annotation with Type Inference

许多程序猿更喜欢比如Python和Javascript这样的动态语言,因为这些语言并不要求程序猿为每个变量声明和管理它们的类型.在大多数动态类型的语言里,变量可以是任何类型,而类型声明是可选的或者根本不允许.Objective-C采用了混合的处理方式:它需要类型声明,但是任何指向一个Objective-C类实例的变量(包括任何从NSObject派生出的类,但不能是所谓的原始类型,比如int

2016-07-16 10:26:55 1537

翻译 Objective-C Init Method

初始化器在其他面向对象的语言中(比如Java)指的是构造器.Objective-C同样拥有对象构造器在init形式的方法中.不管如何,在Objc中这些方法没有什么特殊的行为.按照惯例,程序猿在init方法中设置对象初始的状态,但是实际上它们和其他的Objc方法一样.因为它们像任何其他的Objc方法,程序猿必须从init方法显示返回已初始化的对象.特别的,这些方法只是简单的返回它们的接收

2016-07-15 08:59:32 1853

原创 Swift中的"可溢出"算术运算符

大家知道Swift中拥有和C,Objc类似的算术运算符,它们分别是:+ - * / %但是你可能不知道这些Swift中的运算符和C,Objc语言中的有一个很大的不同之处,就是它们不可以被”溢出”,无论是上溢还是下溢!在C之类的较低级语言中,如果对可能发生溢出的算术数值做算术运算,结果就会发生所谓的上溢或下溢,比如你对最大的Int32正数加一结果是一个极大的负数:-2147483

2016-07-13 10:29:01 2158

原创 Swift类中如何创建一个对外只读对内可读写的属性

很简单用private修饰符,后面跟限制关键字set:class Day{ private(set) var rawValue:Int = 0 func showRawValue(){ print("raw is \(rawValue)") } func forwardRawValue(){ rawValue += 1

2016-07-12 10:11:41 6110

原创 Cocos2D-ObjC:在RPG游戏中混合Swift代码

我之前写过一个RPG游戏<<熊猫之魂 SoulOfPanda>>编译器使用的是SpriteBuilder,很好很强大!全部代码都由Objc完成,现在想尝试一下在其中混入Swift代码.我的目的很简单,用Swift写一个GCMan9类,派生自Objc中的GameCharacter类,最后在Objc中使用GCMan9这个类.GameCharacter类是游戏人物的基类,我从中派生了十几个子类分别表示游戏

2016-07-09 08:16:07 2522

原创 SceneKit一个3D场景角色的代码重构

SuperSpaceMan3D是一个以SceneKit为基础的小游戏项目,作者展示了用SceneKit开发3D游戏的强大威力.不过在实际运行时会发现有一些小bug,这里我们依次尝试将其修复首先,当spaceman接触到敌人的时候,游戏结束,弹出GameOver视图,然后当玩家再触摸屏幕时,开始新的游戏.在实际游戏中发现,spaceman接触敌人后GameOver视图很快闪过,游戏随即重新开始,不能达

2016-07-08 13:29:26 2476

原创 Swift3中方法可变参数语法的一些改变

我们知道在Swift2中,默认情况下方法的参数是let值,也就是不可改变的.不过我们可以在参数前添加var关键字改变其不变性:func foo(var i:Int){ i += 1 print(i)}不过遗憾的是在Swift2.x+中,已经明确表明方法参数的修饰关键字var将会在Swift3中被移除,所以为了产出这可恶的警告,你必须使用inout关键字,并且在调用方法传递实参时也要

2016-07-04 08:45:51 6283

原创 Swift3中方法可变参数语法的一些改变

我们知道在Swift2中,默认情况下方法的参数是let值,也就是不可改变的.不过我们可以在参数前添加var关键字改变其不变性:func foo(var i:Int){ i += 1 print(i)}不过遗憾的是在Swift2.x+中,已经明确表明方法参数的修饰关键字var将会在Swift3中被移除,所以为了产出这可恶的警告,你必须使用inout关键字,并且在调用方法传递实参时也要

2016-07-04 08:45:23 971

原创 Swift中switch强大的模式匹配

不少人觉得Swift中switch语句和C或C++,乃至ObjC中的差不多,此言大谬!让本猫带领大家看一下Swift中switch语句模式匹配的威力.所谓模式匹配就是利用一定模式(比如couple)去定制自己需要的匹配结果,比如以下一个3D空间的点坐标:let point3D:(x:Int,y:Int,z:Int) = (1,2,3)我们首先做一些简单的匹配,只是简单的比较是否等于或不等于指定的常量

2016-07-03 13:44:41 4397

原创 SceneKit做一个旋转的地球效果

SceneKit可以用寥寥几行帮你完成很多OpenGL复杂的3D设置代码,下面本猫就带大家完成一个旋转的3D地球的场景.首先需要地球表面图片,将其导入到Xcode中:我们用SceneKit内置的几何球体类创建一个球的实例,并且将地球表面图片应用在球的表面上:let globe = SCNSphere(radius: 15.0)let globeNode = SCNNode(geometry: gl

2016-07-02 21:29:59 7400

原创 Swift中使用NSLog的问题

在Swift中如果想要以如下方式执行NSLog,则编译器必定抱怨:class Foo {}NSLog("%@",Foo())因为Foo是原生Swift类不是继承自NSObject,而NSLog需要其Description方法,所以我们必须使Foo派生自NSObject,然后重载Description方法:class Foo:NSObject { override var descripti

2016-07-01 10:42:21 5987

SwiftUI 超酷炫动画示例大合集

资源简介 本资源包含了秃头码农们“不敢想象”的 SwiftUI 各种酷炫动画合集代码。 每个示例单独放在一个项目中,且都包括各种动画参数可调的预览,方便小伙伴们在 Xcode 预览进一步的理解、完善甚至改进! 大家可以从这些惊艳的动画效果中学到不一样的体验和知识,如果用到自己的 App 中那将会大放异彩! 动画列表: ├── Animations │   ├── 3dLoader │   ├── AddView │   ├── Bank Card │   ├── BookLoader │   ├── Cart │   ├── ChatBar │   ├── CircleLoader │   ├── DownloadButton │   ├── GithubLoader │   ├── InfinityLoader │   ├── LightSwitch │   ├── Like │   ├── Loader │   ├── Loader2 │   ├── LoginView │   ├── Octocat-Wink │   ├── PillLoader │   ├── 更多...

2024-01-08

MacOS 和 iOS 内核 xnu 可编译源代码

资源简介 XNU内核是Darwin操作系统的一部分,用于macOS和iOS操作系统。XNU is an acronym for X is Not Unix. XNU是一个混合内核,它将卡内基梅隆大学开发的Mach内核与FreeBSD的组件和用于编写称为IOKit的驱动程序的C++API相结合。 XNU在x86_64上运行,用于单处理器和多处理器配置。 文件列表: ├── APPLE_LICENSE ├── EXTERNAL_HEADERS ├── Makefile ├── README.md ├── SETUP ├── bsd ├── config ├── doc ├── iokit ├── libkdd ├── libkern ├── libsa ├── libsyscall ├── makedefs ├── osfmk ├── pexpert ├── san ├── security ├── tests └── tools

2024-01-08

SwiftUI 示例 iFonts 应用完整项目源代码

内容概要 本资源包含 iFonts 应用示例完整项目代码,全部用 SwiftUI 实现。 其中内容包括但不限于: - iOS 中各种字体的列举和展示、SF Symbols 图形字符的列举和显式; - 每种字体各种变形的展示; - SwiftUI TabView、List 等视图的使用代码; - 平铺或按组显示 SF Symbols 图形字符的切换演示; - 在最新的 iOS 17 上测试通过; 文件列表: ├── iFonts │   ├── AppDelegate.swift │   ├── Assets.xcassets │   ├── Base.lproj │   ├── Ext&Test │   ├── Info.plist │   ├── Model │   ├── Preview Content │   ├── SFSymbolNames │   ├── SceneDelegate.swift │   └── View └── iFonts.xcodeproj ├── project.pbxproj ├── project.xcworkspace

2024-01-08

SwiftUI 各种界面、自定义视图、动画以及设计哲学示例合集

内容概要: 本资源代码包罗万象 SwiftUI 入门以及进阶知识的代码示例。每个示例用独立的项目承载让大家可以集中注意力学习 SwiftUI 妙不可言的各种特性。 示例合集包括但不限于: - SwiftUI 界面定制和调整; - SwiftUI 原生视图、容器、自定义视图的使用和组合; - SwiftUI 动画加持; - SwiftUI 基本概念、设计理念以及哲学的示例融合; 内容包括: ├── Adaptive-Views ├── App-State-In-SwiftUI ├── Blending ├── Button-Styles ├── Composing-SwiftUI-Views ├── Content-Friendly-Layouts ├── Custom-SwiftUI-Styles ├── Displaying-Text-SwiftUI ├── Flexible-SwiftUI ├── Hashable-Bindings ├── Hierarchy-List ├── Identifiable-Navigation ├── // 更多示例项目

2024-01-08

SwiftUI 英雄动画(HeroAnimations)演示代码

内容概要: 本示例代码包括 SwiftUI 中详细的英雄动画(HeroAnimations)演示、各种附加动画效果。 所谓“英雄动画”是一种让不同 SwiftUI 视图平滑过渡转变的动画效果,就像英雄一样吸引用户的眼球! 其中还包括本人自己领悟而写出的附加测试代码。 让您更加直观和更感性的读懂示例核心逻辑。 您将学到以下内容: - SwiftUI 2.0 中惊艳的英雄动画(HeroAnimations)效果; - 英雄动画如何应用到同一和不同视图中的各个元素中去; - 英雄动画不同的附加特效介绍 - 本人写的更直观和简洁的测试代码; 其中包括文件: - 完整演示示例项目 - Readme文件 - 直观演示英雄动画效果的视频文件 - 本人写的测试(Test)代码

2024-01-08

iOS 15.4 真机调试支持包(可支持最新的iOS 15.4.1系统)

请将下载后的zip文件解压后放入如下目录 /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport 重启Xcode,重新连接iPhone以应用新的调试支持文件

2022-04-03

SwiftUI编程实现不同TabView标签页中任意导航层级视图之间相互跳转的演示代码

该资源是 <<SwiftUI编程实现不同TabView标签页中任意导航层级视图之间相互跳转>> 博文的配套源代码,博文链接地址如下: https://blog.csdn.net/mydo/article/details/123754090 在本篇博文中,您将学到以下内容: 如何实现对象在运行时访问不存在的属性? 如何通过编程实现TabView的切换? 如何监听TabView的切换? 在iOS中用户如何手动选择切换到任意嵌套的导航视图? 如何一气呵成 关闭sheet弹出视图 + 导航至目标视图 两个动作? iOS 14 和 iOS 15 对于上述导航操作的不同行为 重要须知:购买过我付费专栏的小伙伴们可以免费向我索要该资源!!!

2022-04-03

Xcode Empty Application模板

Xcode Empty Application模板

2016-02-15

SpriteBuilder 1.5.0

最新的mac下的Cocos2D编程利器SpriteBuilder的最新版1.5.0

2016-01-11

unlocker_new

郑重声明: 本人以人格担保不会在其中添加rootkit,木马,病毒一类的无聊玩意!!!请放心运行。 请首先检查unlocker.zip文件的MD5值 : B35968822E46BC8AEE5AD4A7C859DECB 无误后可以解压运行unlocker软件。 2个OCX文件是VB6的控件运行必须库 msvbvm60.dll是VB6本地解释引擎 unlocker.dll是unlocker的功能逻辑 unlocker_ui.exe是主程序 如果unlocker_ui.exe意外退出,会导致服务没有正常卸载的问题,此时请运行ds.exe。 它的功能是手动删除服务,您可能要重新启动计算机才能重新运行unlocker_ui.exe 请将BUG通过以下途径告诉我,十分感谢: 到我的blog留言 : http://blog.csdn.net/mydo 或者到我的2个帖子中留言 : 看雪论坛: http://bbs.pediy.com/showthread.php?t=76415 csdn: http://topic.csdn.net/u/20081110/15/80c8e73b-8a0a-4996-ab83-ac7b2e601ea3.html enjoy it!be happy!thanks! 侯佩|hopy 2008.11.10

2008-11-10

UnlockerEx

Unlocker是一个偶闲时写的小工具,主要功能有: <br><br> 1. 解锁已打开文件; <br> 2.建立以特定用户身份的shell。<br><br>详细介绍:<br>http://topic.csdn.net/u/20080427/22/30386f22-e9e4-41d7-9115-9fecf3594401.html

2008-04-27

unlocker

simple unlock open file handle DEMO绿色软件,不需安装。code by hopy | 侯佩on 2007.12.28

2007-12-28

cppv1.0

Check Process's PTE v1.0

2006-12-22

空空如也

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

TA关注的人

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