OC错误】的更多相关文章

转篇Napoleon314 大牛的分析,排版好乱,见谅,耐心读,这是个好东西,注意看他自己的实现,是个技术狂人啊,Ogre焕发次时代的光芒啊~~~努力 ----------------------------------------------------------------------- 转载自: http://www.opengpu.org/viewthread.php?tid=2870&extra=page%3D1&page=1 -------------------------…
本文主要是摘录了 <Effective Objective-C 2.0>一书中提到的编写高质量iOS 代码的几个方法. 1 熟悉Objective -C 1.1 OC 起源 OC 为C语言增加了面对对象的特性,是 C 的超集,并且使用动态绑定的消息结构: 1.2 在类的头文件中尽量少引入其他头文件 将引入头文件的时机尽量延后,只在确有需要时才引入,这样就可以减少类的使用者所需要引入的头文件的数量: 除非确有必要,否则不要引入头文件,一般来说,应在某个类的头文件中使用向前声明来提及别的类,并在实…
航空航天尔雅 选择题1. 已经实现了<天方夜谭>中的飞毯设想.—— A——美国2. 地球到月球大约—— C 38 万公里3. 建立了航空史上第一条定期空中路线—— B——德国4. 对于孔明灯来说,最重要的是—— C——自重5. 世界公认的人类第一次重于空气的,有动力驱动的飞行器进行的载人飞行的空速是每小时—— B——46 公里6. 一战期间飞机使用的是双翼飞机—— B——双翼7. 航空业才逐渐兴起—— B——(一次世界大战后)8. 德国制造了第一架喷气式飞机—— D——德国9. 美国实现了人类…
前言: 作为一个iOS开发,相信大家都会遇到类似于 “duplicate symbol” 的程序报错. 对于很多新手来说,可能会有点手足无措,因为这种类型的报错一般并非是代码的逻辑错误,大部分情况下是在编译过程出错导致的,因此相对来说排查不易.在前几天,我在引用了两个SDK的过程中出现了这个问题,运用不同的手段最终解决了这个问题.今天本文就这个错误进行一个详细的分析以及如何处理做一个探讨,如果有错误的地方还请指出. 一.duplicate symbol /undefind  symbol出现的原…
// //  main.m //  16 - 常见错误汇总 // //  Created by vic fan on 16/7/13. //  Copyright © 2016年 李洪强. All rights reserved. // OC的常见错误汇总: 1 @interface ... @end  和 @implementation ..@end 之间不能嵌套 2只有类的声明没有类的实现 3 漏写@end 4 两个类的声明顺序可以打乱,但是类的声明一定要在类的实现前面 5 成员变量没有放在…
在开发的过程中难免会遇到很多的错误,可是当看到系统给出的英文时,又不知道是什么意思.所以这篇文章总结了Xcode中常见的一些英文单词及词组,可以帮助初学的人快速了解给出的提示.多练习,就肯定能基本掌握. expression:表达式 assignable:赋值variable:变量+redefinition:重复定义type:类型conflicting:冲突项invalid:无效的conversion:转换specifier:说明符indent:缩进operands:运算对象.操作数binary…
OC小实例关于init 方法不小心的错误  正视遇到的每一个错误 在一个遥控器类操控小车玩具的小实例项目中,我采用组合的方式,将遥控器拥有小汽车对象(has a)关系,而不是继承(is a)关系. 想法:将创建小汽车的实例化过程写在遥控器的初始化方法中 Controller.m : 1 - (instancetype)initWith 2 { 3 self = [super init]; 4 if (self) { 5 NSLog(@"遥控器初始化创建了"); 6 _car = [[C…
3. NSDictionary *dict = [NSDictionary dictionaryWithObject:@"a value" forKey:@"aKey"];NSLog(@"%@",[dict objectForKey:@"aKey"]);[dict release];控制台中打印的最后一条信息会是: 答案:(C) A.a value B.aKey : a value C.崩溃信息 D.a value : aKe…
*:first-child { margin-top: 0 !important; } body > *:last-child { margin-bottom: 0 !important; } a { color: #4183C4; } a.absent { color: #cc0000; } a.anchor { display: block; padding-left: 30px; margin-left: -30px; cursor: pointer; position: absolute…
我在网上找到了一个oc版加密的工具类,但是加密中文就出现大问题 const char *cstr = [self cStringUsingEncoding:encoding]; NSData *data = [NSData dataWithBytes:cstr length:self.length]; uint8_t digest[CC_SHA1_DIGEST_LENGTH]; CC_SHA1(data.bytes, data.length, digest); NSMutableString*…
ARC forbids explicit message send of'release' 很显然,是ARC的问题. 错误原因:在创建工程的时候点选了“Use Automatic Reference Counting”选项,但是又调用了对象的release方法   ARC是什么?   ARC是iOS 5推出的新功能,全称叫 ARC(Automatic ReferenceCounting).简单地说,就是代码中自动加入了retain/release,原先需要手动添加的用来处理内存管理的引用计数的代…
在开发的过程中难免会遇到很多的错误,可是当看到系统给出的英文时,又不知道是什么意思.所以这篇文章总结了Xcode中常见的一些英文单词及词组,可以帮助初学的人快速了解给出的提示.多练习,就肯定能基本掌握. expression:表达式 assignable:赋值variable:变量+redefinition:重复定义type:类型conflicting:冲突项invalid:无效的conversion:转换specifier:说明符indent:缩进operands:运算对象.操作数binary…
在ios编程中,如果成员变量为对象,我们需要对成员变量内存管理,否则,会造成内存泄露.即我们要对成员变量进行手动的内存释放. 很显然,是ARC的问题. 错误原因:在创建工程的时候点选了“Use Automatic Reference Counting”选项,但是又调用了对象的release方法   ARC是什么?   ARC是iOS 5推出的新功能,全称叫 ARC(Automatic ReferenceCounting).简单地说,就是代码中自动加入了retain/release,原先需要手动添…
Command /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang failed with exit code 1 解决方法:在Build Setting  搜索框中搜索pch,找到了Prefix Header,把后面的Debug中和release中的所有信息都删除就可以解决.…
OC泛型 泛型是程序设计语言的一种特性,他主要是为了限制类型的,比如OC中的数组,你可以限制他里面装的是NSString类型,泛型的话JAVA和C++都有的,大家要是对泛型不了解的话可以去百度一下. 泛型的基本格式 泛型声明格式:在声明类的时候,在类型后面 泛型定义格式:放在限制的类型后面 泛型的好处 提高程序员开发规范,让程序员一眼就可以看出该使用什么类型 限制类型,不允许装入其它的类型 可以使用点语法 泛型的实际操作 新建一个Person类,在里面定义一个可变的数组,然后在main.m中导入…
一.Swift与OC区别: 1.swift程序的入口是UIApplicationMain; 2.OC的类是以.h和.m组成的;swift是一.swift结尾的; 3.OC的类是以@interface和@end开始结尾;swift是采用{}; 4.OC里语句结束以分号(;);swift里不需要分号,添加分号也不会出错; 5.OC中创建一个视图,采用alloc/init,swift采用(); 6.OC中创建视图采用initWithXXX;swift里变成(XXX:) 7.swift设置属性,全面采用…
swift与OC之间不得不知道的21点   自6月的WWDC大会上由苹果的大神Chris Lattner向我们首次展示swift至今已经大半年时间了,虽然绝大部分软件公司代码里还都见不到一丁点swift的影子,但各路大牛早已纷纷已经对swift进行过各种挖掘了. 我总结下我的看法.主要是给还没仔细研究swift的好奇的OC攻城狮看 swfit和OC间的联系 1.swift句尾不需要分号,除非你想在一行中写三行代码就加分号隔开. 2.swift不要写main函数,程序默认从上往下执行 3.swif…
本文并非最终版本,如想关注更新或更正的内容,详见文末的联系方式,如有疏忽和遗漏,欢迎指正. 本文相关目录:(链接为简书链接) ====================== 所属文集:1.2 Objective-C ====================== 1.2.0 开发须知 1.2.1 OC概述 1.2.2 类 未发布 1.2.3 对象 未发布 1.2.4 面向对象 未发布 1.2.5 数据类型 未发布 1.2.6 关键字 未发布 1.2.7 内存管理->1.0 概述 未发布 1.2.7…
OC 类别与扩展(匿名类别) 类别(Categroy): 又称为扩展类,在类的原基础上扩展方法,且不可添加变量,如果扩展的方法与原始类中的方法相同,则会隐藏原始方法,且不可在扩展方法中通过super调用原始方法,这里与继承不同. 类别文件名 = 原类名 + 类别名 类别的格式: @interface 原类名 (类别名) 在类别中添加 @property 只做了set/get的声明,没有实现,更不会生成成员变量. 类别的作用: ①为现有的类添加新方法: ②将类的实现分散到多个不同文件或多个不同框架…
OC #import和@class的用法和区别 import会包含这个类的所有信息,包括实体变量和方法,而@class只是告诉编译器,其后面声明的名称是类的名称,至于这些类是如何定义的,暂时不用考虑,后面会再告诉你. 在头文件中, 一般只需要知道被引用的类的名称就可以了. 不需要知道其内部的实体变量和方法,所以在头文件中一般使用@class来声明这个名称是类的名称. 而在实现类里面,因为会用到这个引用类的内部的实体变量和方法,所以需要使用#import来包含这个被引用类的头文件. 在编译效率方面…
OC KVC KVC 全称 key valued coding 键值编码 在说KVC之前应该简单的了解一下反射机制 反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法. 对于任意一个对象,都能够调用它的任意一个方法和属性. JAVA,C#都有这个机制. ObjC也有,所以你根部不必进行任何操作就可以进行属性的动态读写,那就是KVC. KVC的操作方法由NSKeyValueCoding提供,而他是NSObject的类别,也就是说ObjC中几乎所有的对象都支持KVC操作. 常用…
NSDecimalNumber 翻译补充自:http://rypress.com/tutorials/objective-c/data-types/nsdecimalnumber 感谢乐于分享的大神 在iOS开发中,和货币价格计算相关的,需要注意计算精度的问题.即使只是两位小数,也会出现误差.使用float类型运算,是完全不够的.所以我在网上来找寻答案,但是在百度找了好久,没有发现一个好的解决方案,后来发现了NSDecimalNumber这个类,但是国内搜索引擎上的资料用太少了,所以自己通过找资…
在开发iOS应用程序时我们有时会用到Core Foundation对象简称CF,例如Core Graphics.Core Text,并且我们可能需要将CF对象和OC对象进行互相转化,我们知道,ARC环境下编译器不会自动管理CF对象的内存,所以当我们创建了一个CF对象以后就需要我们使用CFRelease将其手动释放,那么CF和OC相互转化的时候该如何管理内存呢?答案就是我们在需要时可以使用__bridge,__bridge_transfer,__bridge_retained,具体介绍和用法如下…
new方法实现原理: new做了三件事情 1.开辟存储空间  + alloc 方法 2.初始化所有的属性(成员变量) - init 方法 3.返回对象的地址 [Person new]; == [[Person alloc] init]; alloc: 1.开辟存储空间 2.将所有的属性设置为0 3.返回当前实例对象的地址 init:  1.初始化成员变量, 但是默认情况下init的实现是什么都没有做 2.返回初始化后的实例对象地址 注意: alloc返回的地址, 和init返回的地址是同一个地址…
什么是多态 什么是多态: 多态就是某一类事物的多种形态 猫: 猫-->动物 狗: 狗-->动物 男人 : 男人 -->人 -->动物 女人 : 女人 -->人 -->动物 多态表示不同的对象可以执行相同的动作, 但是通过他们自己的实现代码来执行 程序中的多态:父类指针指向子类对象 多态的条件 有继承关系 子类重写父类方法 父类指针指向子类对象           狗 *g = [狗 new];           动物 *a = [狗 new];           猫…
Java培训.Android培训.iOS培训..Net培训.期待与您交流! (以下内容是对黑马苹果入学视频的个人知识点总结) 三种特性之一封装 (一)set方法和get方法 1)  set方法 1>作用:用来设置成员变量,可以在方法里面过滤掉一些不合理的值 2> 命名规范: ①方法名必须以set开头 ②set后面跟上成员变量的名称,成员变量的首字母必须大写 ③返回值一定是void ④一定要接收一个参数,而且参数类型跟成员变量类型一致 ⑤形参的名称不能跟成员变量名一样 2)  get方法 1&g…
1.出现下面的错误: StoryboardApp[8593:207] Failed to instantiate the default view controller for UIMainStoryboardFile 'MainStoryboard' - perhaps the designated entry point is not set? 这个问题的原因应该是在你的StoryBoard中没有一个view controller设置了Initial Scene.您需要选择一个view co…
面向对象有三大特征:封装.继承和多态. 一.封装 封装是将对象的状态信息隐藏在对象内部,不允许外部程序直接访问对象内部信息,而是通过该类所提供的方法来实现对内部信息的操作和访问.简而言之,信息隐藏,隐藏对象的实现细节,不让用户看到,以此来增强安全性和简化编程,进而达到封装的目的. 使用者不必了解具体的实现细节,而只是要通过外部接口,以特定的访问权限来使用类的成员. 访问修饰符:private.protect.public private:私有的,不可供外部访问的信息,只有类本身能存取. prot…
1.项目经验 2.基础问题 3.指南认识 4.解决思路 ios开发三大块: 1.Oc基础 2.CocoaTouch框架 3.Xcode使用 -------------------- CocoaTouch Media Core Services Core OS -------------------- System Framework OC的类声明,定义域 OC关键字定义为  @class O-C特有的语句for(..in ..)迭代循环,其他的条件和循环语句和c一样 OC对面向对象的概述 (1)…