答案: 使用方法conformsToProtocol. 调用例子: BOOL isConform = [Student conformsToProtocol:@protocol(UIScrollViewDelegate)]; 或者: Student* student =[[Student alloc] init]; BOOL isConform = [student conformsToProtocol:@protocol(UIScrollViewDelegate)]; 都可以. 这个方法既是N…
Class myCls = NSClassFromString(@"Person"); NSString *str = NSStringFromClass(myCls); if (str.length) { NSLog(@"这个类存在"); }else{ NSLog(@"这个类不存在"); } 这个方法可以不用引入类,判断一个类是否存在于项目中,可以在对接项目的时候动态的获取另外一个开发者的类.减少了代码的耦合性.…
C#中可以通过反射分析元数据来解决这个问题,示例代码如下: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 using System; using System.Reflection;   namespace Hello {     class Program     {…
Java判断一个类里是否存在某个属性 测试pojo类,比方我有个User类 @Getter @Setter public class User { private Long id; private String name; private Integer age; private String email; } 我现在判断User是否存在某个属性 方式一.按照常理来说第一种办法肯定是通过反射拿到这个类的所有属性,循环遍历再去一一比较,这种办法是可行的,但是感觉这种方式不是太好. /** * 判断…
JAVA - 如何判断一个类是无用的类 方法区主要回收的是无用的类,那么如何判断一个类是无用的类的呢? 判定一个常量是否是"废弃常量"比较简单,而要判定一个类是否是"无用的类"的条件则相对苛刻许多.类需要同时满足下面 3 个条件才能算是 "无用的类" : 该类所有的实例都已经被回收,也就是 Java 堆中不存在该类的任何实例. 加载该类的 ClassLoader 已经被回收. 该类对应的 java.lang.Class 对象没有在任何地方被引用,…
[试题描述]定义一个函数,输入判断一个树是否是另一个对的子树 You have two very large binary trees: T1, with millions of nodes, and T2, with hun-dreds of nodes Create an algorithm to decide if T2 is a subtree of T1 Note that the problem here specifies that T1 has millions of nodes…
[试题描述]定义一个函数,输入一个链表,判断链表是否存在环路 平衡二叉树,又称AVL树.它或者是一棵空树,或者是具有下列性质的二叉树:它的左子树和右子树都是平衡二叉树,且左子树和右子树的高度之差之差的绝对值不超过1. 问题:判断一个二叉排序树是否是平衡二叉树这里是二叉排序树的定义解决方案:根据平衡二叉树的定义,如果任意节点的左右子树的深度相差不超过1,那这棵树就是平衡二叉树.首先编写一个计算二叉树深度的函数,利用递归实现. [参考代码] 方法一: //返回树的最大深度 public static…
项目中使用的jar包较多时,会出现jar冲突的情况,有时候很难判断当前使用的这个类是从哪个jar包中调用的.因为一般我们只能看到jar包的名称,不清楚其中的类的目录结构. 这个类的作用就是说明当前调用的类来自于哪个jar包. import java.io.File; import java.net.MalformedURLException; import java.net.URL; import java.security.CodeSource; import java.security.Pr…
 var s = "";  s.GetType().IsClass; 来自为知笔记(Wiz)…
Which of the following is better? a instanceof B or B.class.isAssignableFrom(a.getClass()) The only difference that I know of is, when 'a' is null, the first returns false, while the second throws an exception. Other than that, do they always give th…
Modifier.isPublic([类].getModifiers()) Modifier.isAbstract([类].getModifiers())…
22 键值编码KVC KVC全称key valued coding 键值编码 提到KVC,就不能不提反射机制,反射机制就是在运行状态中,对于任意一个类,都能够调用他的所有属性和方法,对于任意一个对象,都能够调用他的任意一个方法和属性,java和C#都有,ObjC也有,所以你根本不必进行任何操作就可以进行属性的动态读写,这就是KVC.KVC的操作方法基本上都由NSKeyValueCoding提供,而他是NSObject的类别,也就是说所以的对象都支持KVC操作. 使用KVC间接修改对象属性时,系统…
以下问题主要用于技术的总结与回顾 主要问题总结 单例的写法.在单利中创建数组应该注意些什么. NSString 的时候用copy和strong的区别. 多线程.特别是NSOperation 和 GCD 的内部原理. 运行时机制的原理和运用场景. SDWebImage的原理.实现机制.如何解决TableView卡的问题. block和代理的,通知的区别.block的用法需要注意些什么. strong,weak,retain,assign,copy nomatic 等的区别. 设计模式,mvc,单利…
转自各方面..... 一.前言部分 文中的问题多收集整理自网络,不保证100%准确,还望斟酌采纳. 1.iOS9有哪些新特性? 答案: 1)改进了 Siri 基于日期.位置和相簿名称来搜索个人照片和视频 要求 Siri 来提醒您在 Safari.“邮件”.“备忘录”和“信息”等应用中看到的有关内容 提供大众公交路线 2)增强 Spotlight 搜索功能 获取体育比分.天气状况和股票价格 执行简单的数学计算和单位换算 在联系人的搜索结果中发送信息.拨打电话和 FaceTime 通话 3)新增 i…
最近招聘季,看JULY大哥的面试100题时,碰到这么一个扩展问题: 如何用一个语句判断一个整数是不是二的整数次幂?(此题在编程之美也有) easy, 2的整数次幂的二进制形式只有一个1,只要用i和i-1按位相与,结果为零就说明是: int i; bool b = (i&(i-1))?false:true; (===============只想知道这道题的解法的看到这里就够了,以下都是无关内容===============) 再下一步之前,请思考一个问题:printf("%d",…
iOS面试知识点 现在进入本篇的正题.本篇的面试题是我认为比较好的iOS开发基础知识点,希望大家看过这后在理解的基础上掌握而不是死记硬背.死记硬背很快也会忘记的. 1 iOS基础 1.1 父类实现深拷贝时,子类如何实现深度拷贝.父类没有实现深拷贝时,子类如何实现深度拷贝. 深拷贝同浅拷贝的区别:浅拷贝是指针拷贝,对一个对象进行浅拷贝,相当于对指向对象的指针进行复制,产生一个新的指向这个对象的指针,那么就是有两个指针指向同一个对象,这个对象销毁后两个指针都应该置空.深拷贝是对一个对象进行拷贝,相当…
在iOS 开发中会遇到 判断位置的情况 iOS 自己都有函数实现的这些功能. 判断一个点是否在这个rect区域中 bool CGRectContainsPoint(CGRect rect,CGPoint point) 判断一个rect是否在另一个rect中 bool CGRectContainsRect(CGRect rect1, CGRect rect2)…
@property 后面可以有哪些修饰符?@property中有哪些属性关键字? 属性可以拥有的特质分为四类: 原子性--- nonatomic 特质 在默认情况下,由编译器合成的方法会通过锁定机制确保其原子性(atomicity).如果属性具备 nonatomic 特质,则不使用同步锁.请注意,尽管没有名为“atomic”的特质(如果某属性不具备 nonatomic 特质,那它就是“原子的” ( atomic) ),但是仍然可以在属性特质中写明这一点,编译器不会报错.若是自己定义存取方法,那么…
如何判断一个点是不是在方框(CGRect).圆(Circle).三角形(Triangle)内呢? 1.方框 //苹果官方方法可以判断 + (BOOL)point:(CGPoint)point inSquareArea:(CGRect)rect { return CGRectContainsPoint(rect, point); } 2.圆 //圆心到点的距离>?半径 + (BOOL)point:(CGPoint)point inCircleRect:(CGRect)rect { CGFloat…
1.写一个NSString类的实现 + (id)initWithCString:(c*****t char *)nullTerminatedCString encoding:(NSStringEncoding)encoding; + (id) stringWithCString: (c*****t char*)nullTerminatedCString               encoding: (NSStringEncoding)encoding {   NSString  *obj;  …
迷途的羔羊--专为路痴量身打造的品牌.史上最精准的定位.想迷路都难!闪电更新中...敬请期待,欢迎提意见.下载地址:https://itunes.apple.com/us/app/mi-tu-de-gao-yang/id910431002?l=zh&ls=1&mt=8 1.写一个NSString类的实现 + (id)initWithCString:(c*****t char *)nullTerminatedCString encoding:(NSStringEncoding)encodin…
所有的内容大部分来自于网络的搜集,所以我不是一个创造者,而是一个搬运工.我尽量把题目,尤其是参考答案的出处列明.若有任何疑问,建议,意见,请联系我. 第一部分面试题来源于iOS-Developer-Interview-Questions,用[◇]标示,难度是根据我自己的水平来标识的. 其中大部分答案来源于没阳光的午后的三篇 你能用到的iOS面试题(一) 你能用到的iOS面试题(二) 你能用到的iOS面试题(三) 没阳光的午后还写了其他很多有质量的iOS开发文章,大家可以去学习. 第二部分面试题来…
史上最全的iOS面试题及答案 1.写一个NSString类的实现 + (id)initWithCString:(c*****t char *)nullTerminatedCString encoding:(NSStringEncoding)encoding; + (id) stringWithCString: (c*****t char*)nullTerminatedCString encoding: (NSStringEncoding)encoding { NSString  *obj; ob…
1.写一个NSString类的实现 + (id)initWithCString:(c*****t char *)nullTerminatedCString encoding:(NSStringEncoding)encoding; + (id) stringWithCString: (c*****t char*)nullTerminatedCString encoding: (NSStringEncoding)encoding { NSString  *obj; obj = [self alloc…
                                                                                HTML5常见的面试题 一.HTML 常见题目 01.Doctype作用?严格模式与混杂模式如何区分?它们有何意义? 02.HTML5 为什么只需要写 <!DOCTYPE HTML>? 03.行内元素有哪些?块级元素有哪些? 空(void)元素有那些? 04.页面导入样式时,使用link和@import有什么区别? 05.介绍一下你对浏…
面试题: 1__weak什么时候用 想要在block内部变外部变量需要加__weak或者__block 2.是否使用过coreImage和coreText?如果使用过,说说你的体验(答案在另一份) 3.什么是IP,HTTP,TCP.UDP等协议?他们分别属于第几层? IP属于网络层(第三层):TCP和UDP都属于传输层(第四层):HTTP属于应用层(第七层). IP协议保证计算机发送和接收分组数据,负责将消息从一个主机传送到另一个主机. HTTP协议是超文本传输协议,规定客户端和服务器之间的数据…
摘要:1. Object-c的类可以多重继承么?可以实现多个接口么?Category是什么?重写一个类的方式用继承好还是分类好?为什么? 答: Object-c的类不可以多重继承;可以实现多个接口,通过实现多个接口可以完成C++的多重继承;Category是类别,一般情况用分类好,用Category去重写类的方法,仅对本Category有效,不会影响到其他类与原有类的关系. 作者:Job_Yang 之前看了很多面试题,感觉要不是不够就是过于冗余,于是我将网上的一些面试题进行了删减和重排,现在分享…
1. Object-c的类可以多重继承么?可以实现多个接口么?Category是什么?重写一个类的方式用继承好还是分类好?为什么? 答: Object-c的类不可以多重继承:可以实现多个接口,通过实现多个接口可以完成C++的多重继承:Category是类别,一般情况用分类好,用Category去重写类的方法,仅对本Category有效,不会影响到其他类与原有类的关系. 2. #import 跟#include 又什么区别,@class呢, #import<> 跟 #import””又什么区别?…
之前看了很多面试题,感觉要不是不够就是过于冗余,于是我将网上的一些面试题进行了删减和重排,现在分享给大家.(题目来源于网络,侵删) 1. Object-c的类可以多重继承么?可以实现多个接口么?Category是什么?重写一个类的方式用继承好还是分类好?为什么? 答: Object-c的类不可以多重继承;可以实现多个接口,通过实现多个接口可以完成C++的多重继承;Category是类别,一般情况用分类好,用Category去重写类的方法,仅对本Category有效,不会影响到其他类与原有类的关系…