《Programming with Objective-C》

苹果官方文档:不稳定的传送门

读书笔记共有以下几篇,其他的知识点不重要或者已经熟悉不需记录。

《Programming with Objective-C》第三章 Working with Objects

《Programming with Objective-C》第四章 Encapsulating Data

《Programming with Objective-C》第五章 Customizing Existing Classes

《Programming with Objective-C》第七章 Values and Collections

《Programming with Objective-C》第八章 Working with Blocks

时间: 2024-10-13 15:52:33

《Programming with Objective-C》的相关文章

《Programming in Lua 3》读书笔记(二十二)

日期:2014.8.6 PartⅣ The C API 26 Extending Your Application 使用Lua很重要的一点是用来做配置语言.配合主语言做一些功能的配置. 26.1 The Basics 有的时候程序需要配置一些功能信息,很多时候可能有许多别的方法比用lua做配置要更简单:如使用环境变量或者读取文件,读取文件涉及到文件的解析.如果使用Lua进行配置的话,相当于用lua文件替代了要读取的如csv.txt文件等. 使用Lua进行配置的时候,就需要使用Lua API去控制

《Programming in Lua 3》读书笔记(二十一)

日期:2014.8.1 PartⅣ The C API 25 An Overview of the C API Lua是一种嵌入式语言.这就意味着Lua不是单独存在的,而是可以通过一系列的标准库将lua的特性嵌入至其他应用模块中. Lua以Lua interpreter(lua的解释器?)来解决了其不是独立程序,我们直到现在却又能独立使用Lua的问题.这个解释器是一个小型的程序(不超过500行代码),使用lua的标准库来实现独立解释程序,这个程序将处理与用户的交互等操作交给lua的标准库,这些库

《Programming in Lua 3》读书笔记(二十五)

日期:2014.8.11 PartⅣ The C API 29 User-Defined Types in C 在之前的例子里,已经介绍过如果通过用C写函数来扩展Lua.在本章,将会介绍通过用C写新的类型来扩展Lua,将会使用到元方法等特性来实现这个功能. 以一个例子来介绍本章将要介绍的,例子实现的功能是实现了一个简单的类型:boolean arrays.实现这个功能主要是这种方法不需要太复杂的算法,因此可以将精力放在API的讨论上.当然我们可以在Lua中用一个table来实现,但是用一个C来实

《Programming in Lua 3》读书笔记(二十六)

日期:2014.8.12 PartⅣ The C API 30 Managing Resources 上一节中实现的自定义类型,我们并没有关注于资源管理的问题.上一节实现的数组是需要关心内存问题,而这些问题由Lua实现管理.但是很多时候事情不那么简单,有些对象不仅需要内存空间,还会需要如窗口句柄.文件描述等资源.尽管说这些也是内存开销,但是这些资源是由系统的其他组件管理的.这种情况下,当一个对象被回收了,我们也需要合适的机制来实现回收这些额外的资源. 在17.6章节中,介绍了Lua提供的fina

《Programming in Lua 3》读书笔记(二十八)

日期:2014.8.15 PartⅣ The C API 32 Memory Management Lua是动态的对其数据结构进行管理的.所有数据结构按需求进行增长,最终进行释放.Lua对其内存的使用控制较为严格,当我们关闭了一个Lua state的时候,Lua会立即释放其内存占用.不仅如此,Lua中的所有对象都被垃圾回收器管理,包括tables,strings,和functions,threads,和modules. Lua进行内存管理的方式对多数程序来说都是挺合适的.但是还是有一些特殊的程序

《Programming in Lua 3》读书笔记(二十七)

日期:2014.8.14 PartⅣ The C API 31 Threads and States Lua实际上是不支持真正的多线程的,即preemptive threads 共享内存的情况.有两个原因:第一个,是ANSI C不支持,所以Lua中就没有合适的方法来实现这个机制:第二个原因,最重要的是作者认为Lua中支持真正的多线程不是个好主意. 多线程是给低级开发语言而发展出的机制.多线程概念中的信号和监控等同步机制机制都是依赖与操作系统而不是依赖于应用程序的,因此很难去发现和修正由多线程造成

《Programming in Lua 3》读书笔记(二十三)

日期:2014.8.7 PartⅣ The C API 27 Calling C from Lua 在这里说Lua调用C函数,并不意味着Lua可以调用任意的C函数.与之前C调用Lua函数一样,在这里同样需要遵循一些规则:传递参数,得到结果.不仅如此,Lua要调用C函数,我们首先需要注册这个函数,即需要将该函数的地址传递给Lua. 当Lua调用C函数的时候,也是使用栈来做参数和返回结果的传递.C函数从栈中得到参数,然后将结果push至栈中. 在这里一个重要的概念是:栈不是一个全局结构:每个函数都有

《Programming WPF》翻译 第8章 5.创建动画过程

原文:<Programming WPF>翻译 第8章 5.创建动画过程 所有在这章使用xaml举例说明的技术,都可以在代码中使用,正如你希望的.可是,代码可以使用动画在某种程度上不可能在xaml中实现的. 在代码中创建动画需要稍微多一点的努力--比使用标记.然而,代码提供了更多的弹性.你可以在运行期计算属性,而不是在xaml中硬编码,从而支持你的动画适应环境.例如,这可能是有用的--在当前窗体的大小基于动画的参数. 使用代码一个额外的好处是我们不需要使用storyboard,替代的,我们可以创

《Programming WPF》翻译 第8章 2.Timeline

原文:<Programming WPF>翻译 第8章 2.Timeline Timeline代表了时间的延伸.它通常还描述了一个或多个在这段时间所发生的事情.例如,在前面章节描述的动画类型,都是Timeline.可哦率这样的DoubleAnimation: <DoubleAnimation From=”10” To=”300” Duration=”0:0:5” /> 正如Duration属性指出的,这代表了一个5秒的时间长度.所有类型的Timeline总是有一个开始时间和一个持续时

《Programming WPF》翻译 第9章 6.我们进行到哪里了?

原文:<Programming WPF>翻译 第9章 6.我们进行到哪里了? 只有当任何内嵌控件都没有提供你需要的底层行为时,你将要写一个自定义控件.当你写一个自定义控件,你将要使用到依赖属性系统,来提供支持数据绑定和动画的属性.你将使用routed事件结构来暴露事件.如果你想写一个没有外观的控件,允许其可视化能被替换--如内嵌控件,你必须考虑你的控件和模板之间如何进行交互.你还将要为一个提供了一组默认可视化的模板提供一个默认值.