首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

Mac开发之 Cocoa 绑定 入门

什么是绑定简单的说,绑定就是建立视图与数据对象之间的联系,是一种通过数据对象来直接(这个是重点)驱动视图显示内容的方式.使用cocoa 绑定意味着使用更少的代码来实现同样的功能(这个在后面的示例中会具体说明...绑定只能在OSX上使用!!!...好了,基础概念就先介绍到这里,我们先通过一个简单的示例来具体了解绑定操作~ (1) 新建一个Cocoa应用程序,(示例开发语言使用Swift) 新建Cocoa应用 (2) 添加一个Person类,并添加一个...(它常常与tableView或collectionView结合使用),NSObjectController可以充当单个对象的控制器,对象发生变化时,界面刷新. cocoa还可以针对事件进行绑定,这使得我们的应用可以变得更加灵活...,关于cocoa的更多绑定使用,大家可以查看苹果的官方文档,进一步了解,如果本文能起到抛砖引玉的作用,那实在已经是笔者的荣誉了,感谢各位阅读,并欢迎各位指正文中不足的地方~  4.

1.8K20

Cocoa编程学习笔记之MVC

Cocoa 使用了一种修改版本的MVC模式来处理GUI的显示。MVC模式(自1979年以来)已经出现很长时间了,它皆在分离显示用户界面所需的大量任务,并处理用户交互。...相反,它特别专注于如何显示这些数据,并处理与用户交互的,好的模型类不包括任何有关用户界面的内容,可以在多个应用程序中使用。 视图——视图代表了数据如何实际地显示出来。...如果用户点击某个任务,要删除之,那么视图通常会触发一个事件,或对Controller(控制器)进行一个回调,好的视图类是通用类,可以在多个应用中使用。...例如,在你的应用程序中,有两个界面,基于Web的和WPF的,那么你可以在两者中都使用同样的模型定义代码。 因而,在很多MVC框架中不管具体的工作方式如何,基本原理都大致如此的。...然而,在Cocoa(及Cocoa Touch)中,还是或多或少有所不同,苹果用MVC来代表Views(视图)、View Controller(视图控制器)和Models(模型);但是在不同的控件中,它们却不是完全一致的

84870

Cocoa内存管理的简单规则

比较清楚的讲解了Cocoa的内存管理。 对于Mac和iPhone的开发有很大帮助。 特翻译并略做修改以方便理解,希望与大家共勉 对于一个新的Cocoa开发者来说,刚接触到内存管理的时候,一定很困惑。...如果你没有很好的使用这些规则的话,通常会带来内存泄露的问题或者运行时的异常。 Cocoa过去没有垃圾回收机制,iPhone现在也没有。...``` 和 \u000a```-autorelease来释放内存;\u000a``` 当对象使用便捷方法创建的时候(如:NSString类的 stringWithString方法),则这个对象将被视为已经使用了...,但是使用他们会降低内存泄露的机会。...便捷构造方法将返回一个autoreleased对象,所以你不必使用release。 在使用autoreleased后这样做,将减少count的计数到0,这个对象将被释放。

45510

面向协议编程与 Cocoa 的邂逅 (下)

本文 (下) 主要展示了一些笔者日常使用面向协议思想和 Cocoa 开发结合的示例代码,并对其进行了一些解说。 1....我们可以使用 POP 来解耦,通过组合的方式让代码有更好的重用性。不过在 #408 中,涉及的内容偏向理论,而我们每天的 app 开发更多的面临的还是和 Cocoa 框架打交道。...在我们的日常项目中,每天打交道的 Cocoa 其实还是一个带有浓厚 OOP 色彩的框架。也就是说,可能一段时期内我们不可能抛弃 OOP。...参考资料 [1] 演讲使用的 Keynote: https://speakerdeck.com/onevcat/mian-xiang-xie-yi-bian-cheng-yu-cocoa-de-xie-hou...[2] 官方 repo: https://github.com/MDCC2016/ProtocolNetwork [3] 面向协议编程与 Cocoa 的邂逅 (上): https://mp.weixin.qq.com

69620

面向协议编程与 Cocoa 的邂逅 (上)

因为全部内容比较长,所以分成了上下两个部分,本文 (上) 主要介绍了一些理论方面的内容,包括面向对象编程存在的问题,面向协议的基本概念和决策模型等,下半部分主要展示了一些笔者日常使用面向协议思想和 Cocoa...这次让我们远离动物世界,回到 Cocoa,假设我们有一个 ViewController,它继承自 UIViewController,我们向其中添加一个 myMethod: class ViewCotroller...在调用时,我们就可以使用 Greetable 中定义的方法了。...✅ 动态派发安全性 横切关注点 菱形缺陷 3.1.2 横切关注点 使用协议和协议扩展,我们可以很好地共享代码。回到上一节的 myMethod 方法,我们来看看如何使用协议来搞定它。...✅ 动态派发安全性 ✅ 横切关注点 ❓菱形缺陷 参考资料 [1] 演讲使用的 Keynote: https://speakerdeck.com/onevcat/mian-xiang-xie-yi-bian-cheng-yu-cocoa-de-xie-hou

56120

iOS中Cocoa框架·Runtime及isa指针知识·填坑

Cocoa框架是iOS应用程序的基础,了解Cocoa框架,对开发iOS应用有很大的帮助。 1、Cocoa是什么? Cocoa是OS X和 iOS操作系统的程序的运行环境。...是什么因素使一个程序成为Cocoa程序呢?不是编程语言,因为在Cocoa开发中你可以使用各种语言;也不是开发工具,你可以在命令行上就可以创建Cocoa程序。...1.1、Cocoa框架 iOS中,Cocoa众多框架中最重要最基本的两个框架是:Foundation 和 UIKit。...通知 归档和序列化 表达式和条件判断 Objective-C语言服务 1.3 UIKit框架 应用程序可以通过三种方式使用UIKit创建界面 在用户界面工具(interface Buidler)从对象库里...拖拽窗口,视图或者其他的对象使用

94420

开心档之Swift 数组

Swift 数组 Swift 数组使用有序列表存储同一类型的多个值。相同的值可以多次出现在一个数组的不同位置中。...Swift 数组会强制检测元素的类型,如果类型不同则会报错,Swift 数组应该遵循像Array这样的形式,其中Element是这个数组中唯一允许存在的数据类型。...---- 创建数组 我们可以使用构造语法来创建一个由特定数据类型构成的空数组: var someArray = [SomeType]() 以下是创建一个初始化大小数组的语法: var someArray...[1])" ) print( "第三个元素的值 (someInts[2])" ) 以上程序执行输出结果为: 第一个元素的值 10 第二个元素的值 10 第三个元素的值 10 ---- 修改数组 你可以使用...新数组的数据类型会从两个数组的数据类型中推断出来: import Cocoa var intsA = [Int](repeating: 2, count:2) var intsB = [Int](repeating

25010

开心档之Swift数组

Swift 数组 Swift 数组使用有序列表存储同一类型的多个值。相同的值可以多次出现在一个数组的不同位置中。...Swift 数组会强制检测元素的类型,如果类型不同则会报错,Swift 数组应该遵循像Array这样的形式,其中Element是这个数组中唯一允许存在的数据类型。...---- 创建数组 我们可以使用构造语法来创建一个由特定数据类型构成的空数组: var someArray = [SomeType]() 以下是创建一个初始化大小数组的语法: var someArray...1])" ) print( "第三个元素的值 \(someInts[2])" ) 以上程序执行输出结果为: 第一个元素的值 10 第二个元素的值 10 第三个元素的值 10 ---- 修改数组 你可以使用...新数组的数据类型会从两个数组的数据类型中推断出来: import Cocoa var intsA = [Int](repeating: 2, count:2) var intsB = [Int](repeating

33710
领券