cocoachina

cocoa: 异常和错误处理

谁说我不能喝 提交于 2020-03-22 20:05:25
本篇对cocoa项目中,错误和异常处理做一些总结。也欢迎大家批评交流。 对于异常我们经常使用try-catch: @try { //有可能错误的代码 @throw expression } @catch (NSException *exception) { //捕获异常 } @finally { //最终处理 } 这种形式经常用于开发模式下debug,但是从实际操作来看,用的不多(或者说不知道怎么用)。 我们将错误和异常做了区分: 错误就是需要用户知道的,用户需要即使作出反应或者只需要知道的 异常就是会引起程序奔溃或者不能正常运行,或者即使能正常运行但需要及时修正的 反映到程序上,错误会需要和用户交互,但异常需要尽量的避免。 在实际中,我们这样处理: 1. 发生的错误,需要用户反应才能继续操作的,使用NSAlert: [NSAlert alertWithMessageText:<#(NSString *)#> defaultButton:<#(NSString *)#> alternateButton:<#(NSString *)#> otherButton:<#(NSString *)#> informativeTextWithFormat:<#(NSString *), ...#>] 2. 发生错误,不影响程序运行,用户也不需要马上反应。可以使用NSAlert,或者:

iOS开发~sizeClass和autolayout

本秂侑毒 提交于 2020-03-05 03:26:30
sizeClass和autolayout,看来不得不开始放弃frame的写法,收集点资料集中学习下 Adaptivity User Interfaces苹果官方文档: https://developer.apple.com/design/adaptivity/ sizeClass苹果官方文档: https://developer.apple.com/library/ios/recipes/xcode_help-IB_adaptive_sizes/_index.html#//apple_ref/doc/uid/TP40014436 autolayout苹果官方文档: https://developer.apple.com/library/ios/recipes/xcode_help-IB_auto_layout/_index.html#//apple_ref/doc/uid/TP40014226 Auto Layout Guide: https://developer.apple.com/library/ios/documentation/userexperience/conceptual/AutolayoutPG/Introduction/Introduction.html AutoLayout相关概念介绍和动画demo http://www.cocoachina.com/ios

Reactive Cocoa Tutorial [0] = \"Overview\";

假如想象 提交于 2020-02-24 23:05:06
   关于这系列(如果真能写下去的话): 说是教程有点狂,边学边总结,更像个笔记吧,等完全用透之后再写就会忘了一开始学习过程中遇到的问题了,Reactive Cocoa(RAC)现在资料真心少,中文英文加起来没几篇,还都是转来转去的。这是个好东西,相信以后用的人会变多,转了请留该文 原地址 哦~ by sunny    废话少说 --> RAC    是什么?怎么来的?干啥用的? 怎么用的? 可以观摩 无网不剩的blog RAC介绍1和2,在此不啰唆了,简而言之,就是 一个函数响应式编程思想在Cocoa下的实现 。   说说在RAC框架下做了一个项目的赶脚吧: 挺新鲜挺有意思,开发人员水平很高,框架封装性和实用性一流,看了看人家对宏的使用发现原来用的纯小儿科,对编译器的控制,block的使用也很值得的学习。 编程思想上的一些改变。原创的一个可能也不大恰当的比喻: 原来的编程思想像是“走迷宫”,RAC的编程思想是“建迷宫”。 意思是,之前的编程思路是命令式,大概都是“程序启动时执行xxxx,在用户点击后的回调函数执行xxx,收到一个Notification后执行xxx”等等,如同走迷宫一样,走出迷宫需要在不同时间段记住不同状态根据不同情况而做出一系列反应,继而走出迷宫;相比下,RAC的思想是建立联系,像钟表中的齿轮组一样,一个扣着一个,从转动发条到指针走动,一个齿轮一个齿轮的传导

day01 python基础

流过昼夜 提交于 2020-01-18 01:14:46
1.今日课堂内容总结 # print('hello world') # # # 变量值:'dake',会在内存中产生一份内存地址。 # # 变量名:相当于一个门牌号,用于与变量进行绑定。 # # =:用来把变量值绑定给变量。 # name = 'cocoa' # print(name) # cocoa # # # 变量名规范 下划线命名 # age_of_cocoa = 17 # # # 不要使用中文命名 # # 名字 = 'cocoa' # # print(名字) # cocoa # # # 定义变量的三大特征 # # id:变量的值一样,内容地址是不一样的。 # name1 = 'cocoa1' # name2 = 'cocoa1' # # Python优化机制(小计数值) # # 在某个长度内,Python把值相同的变量值统一存放在同一个内存地址中。 # print(id(name1)) # print(id(name2)) # # type:用于判断变量的类型 # str1 = 'hello' # print(type(str1)) # # # value # str2 = 'hello' # print(str1 == str2) # #常量 # SCHOOL = '合肥学院' # SCHOOL = '低调' # print(SCHOOL) ''' 用户与程序交互: 输入

案例分析:设计模式与代码的结构特性

折月煮酒 提交于 2020-01-10 19:34:05
一、Cocoa设计模式   Cocoa环境的许多架构和机制都能够有效地使用设计模式:抽象设计可以解决特定环境中的重复问题。 本文描述了Cocoa中设计模式的主要实现,主要关注模型(Model) - 视图(View) - 控制器(Controller)和对象建模。 本章的主要目的是让您更深入地了解Cocoa的设计模式,并鼓励您在自己的软件项目中利用这些模式。 二、什么是设计模式?      设计模式是设计的模板,它可以在特定的上下文中解决一般的、重复出现的问题。它是一种抽象工具,在建筑、工程和软件开发等领域都很有用。下面的部分总结了设计模式是什么,解释了为什么它们对于面向对象设计很重要,并讨论了一个示例设计模式。 三、Cocoa如何改变设计模式      可以在OS X和iOS版本中找到适用于Cocoa的设计模式。 基于模式的机制和体系结构在Cocoa框架和Objective-C 的 runtime 和语言中很常见。Cocoa经常把自己独特的旋律放在一个模式上,因为它的设计受语言能力或现有体系结构等因素的影响。   本节包含大多数设计模式的摘要,这些设计模式是在“ 设计模式:可重用面向对象软件的元素”中编目的。 每个部分不仅总结了模式,还讨论了Cocoa的实现。 只列出Cocoa实现的模式,以下各节中的模式描述都与特定的Cocoa上下文有关。Cocoa设计模式的实现有多种形式。

【Mac Technology Overview】(三) Cocoa Application Layer

泪湿孤枕 提交于 2019-12-28 05:29:40
【Mac Technology Overview】(三) Cocoa Application Layer 文章目录 【Mac Technology Overview】(三) Cocoa Application Layer 一、概述 二、High-Level Features 高层级功能 1、Notification Center 通知中心 2、Game Center 游戏中心 3、Sharing 分享 4、Resume 恢复 5、Full-Screen Mode 全屏模式 6、Cocoa Auto Layout (Cocoa 布局) 7、Popovers 弹窗 8、Software Configuration 软件配置 9、Accessibility 辅助功能 10、AppleScript 脚本 11、Spotlight 搜索聚焦 12、Ink Services 三、Frameworks 框架 1、Cocoa Umbrella Framework 2、AppKit 3、Game Kit 游戏 4、Preference Panes 偏好设置面板 5、Screen Saver 屏保 6、Security Interface 安全接口 原文地址: https://developer.apple.com/library/archive/documentation/MacOSX

国外iOS开发教程、博客、工具、文档类站点收集整理:

こ雲淡風輕ζ 提交于 2019-12-06 11:54:58
国外 iOS 开发教程、博客、工具、文档类站点收集整理 : http://stackoverflow.com/questions/25766747/emulating-aspect-fit-behaviour-using-autolayout-constraints-in-xcode-6 ios9.0 最新的控件: http://www.cocoachina.com/ios/20150820/13118.html 一些常用的 IOS 开发网站 :http://www.cocoachina.com/bbs/read.php?tid=164991 源码推荐 (9.11) :带指示牌晃动效果的进度条, iOS 涂鸦支持贝塞尔曲线 http://www.cocoachina.com/ios/20150911/13358.html iOS 面试大全从简单到复杂(简单篇) http://www.cocoachina.com/programmer/20150831/13153.html 源码推荐 (8.10) : iOS 大文件断点下载库,仿微信发布语音 :http://www.cocoachina.com/ios/20150810/12922.html 快快快! 27 个提升效率的 iOS 开源库推荐 :http://www.cocoachina.com/ios/20150727/12720

IOS开发依赖管理工具CocoaPods

末鹿安然 提交于 2019-12-06 08:46:40
CocoaPods IOS开发依赖管理工具 CocoaPods is a dependency manager for Swift and Objective-C Cocoa projects. It has over 68 thousand libraries and is used in over 3 million apps. CocoaPods can help you scale your projects elegantly. 安装: sudo gem install cocoapods 使用: 搜索某个依赖,有个代理会更好 pod search AFNetworking 官网 CocoaPods is a dependency manager for Swift and Objective-C Cocoa projects. It has over 68 thousand libraries and is used in over 3 million apps. CocoaPods can help you scale your projects elegantly. 来源: https://www.cnblogs.com/shengulong/p/11973713.html

How do I install a cocoapod in mavericks with ruby and Command Line Tools correctly?

匿名 (未验证) 提交于 2019-12-03 08:51:18
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试): 问题: This is my setup: Mavericks 10.9.1 Xcode 5.0.2 which ruby returns this: /Users/quique123/.rvm/rubies/ruby-1.9.3-p194/bin/ruby but dvm install ruby returns: Already installed ruby-2.1.0. To reinstall use: rvm reinstall ruby-2.1.0 So doesn't this mean I have ruby 2.1.0? gems list says I have installed cocoa pods & cocoapods-core 0.29.0 and some other gems. After sudo gem install cocoa pods I get the bunch of fetches and change log and Successfully Installed cocoa pods 0.29.0. It then parses and installs documentation and when I run pod setup I