将做工程过程比较好的一些内容片段做个备份,下面内容是关于IOS自定义UISearchBar的背景图的内容,希望对小伙伴有些好处。-(void)layoutSubviews{NSUIntegernumViews=[self.subviewscount];for(inti=0;i
iOS经典面试题题集(附答案)
henry_lei
面试iOS面试题iosobjective-c
前言:最近应该有很多小伙伴去跳槽面试的吧,相信各位有的已经顺利收到offer了,而有些则是碰壁了,那么我在这里给大家准备了相关面试资料,还有相关算法资料。想了解的可找我拿一、isKindOfClass和isMemberOfClass题目:有一道经典面试题关于isKindOfClass和isMemberOfClass代码:BOOLre1=[(id)[NSObjectclass]isKindOfCla
iOS 进阶+面试(二)
书写不简单
本篇文章是承接上篇文章iOS进阶+面试(一)八、iOS中内省的几个方法?对象在运行时获取其类型的能力称为内省。内省可以有多种方法实现。OC运行时内省的4个方法:判断对象类型:-(BOOL)isKindOfClass:判断是否是这个类或者这个类的子类的实例-(BOOL)isMemberOfClass:判断是否是这个类的实例判断对象/类是否有这个方法-(BOOL)respondsToSelector:
对象、消息、运行期--9:类族模式
皆为序幕_
类族模式这种模式最大的好处就是,可以隐藏抽象基类背后的复杂细节,使用者只需调用基类简单的方法就可以返回不同的子类实例。比如NSArray、NSDictionary、UIButton等我们通过NSArray为例,先看俩个函数-(BOOL)isKindOfClass:(Class)aClass;接收者是否是aClass类的实例或者从这个类继承的任何类的实例。如果是返回yes-(BOOL)isMembe
iOS下isMemberOfClass和isKindOfClass的区别
lovelnly
关于面试中经常会问到isMemberOfClass和isKindOfClass区别,大家可能都能回答出一一二二,但是为什么这样呢?下面我们来一起探讨一下。首先我们看一下isMemberOfClass的底层实现:isMemberOfClass下类方法和实例方法的底层实现object_getClass底层实现从上图我们不难看出isMemberOfClass方法在底层进行调用时,就是对类的本身进行一个判
isKindOfClass&isMemberOfClass
顺其自然2017
在面试的时候被问到了这两个方法的,因为没有看过原代码逻辑,所以搞懵了,在这里学习mark一下(1)isKindOfClass判断当前对象的类是否是某个类或者某个类的子类,是的话返回YES(2)isMemberOfClass判断当前对象的类是否是某个类,是的话返回YES这两个方法分为类方法和实例方法,但是消息的接受者必须是一个对象,通过对象获取对象的类与后面的入参类进行对比,实例方法直接通过clas
iOS开发自省方法和@synthesize 、@dynamic的区别
奔跑的喔汼
(BOOL)isMemberOfClass:是判断当前对象的class,是不是就是传入的cls;(BOOL)isKindOfClass:(Class)cls:是判断当前对象的class,是不是传入的cls,或者当前对象的class是传入的cls的子类对象(BOOL)isMemberOfClass:是判断当前类对象的class,是不是就是传入的元类对象cls;(BOOL)isKindOfClass:
3-3 isKindOfClass和isMemberOfClass
Rumbles
isKindOfClass表示是否是同一类型的子类和父类isMemberOfClass表示是否是这个类的对象【范围小】Student*testStu=Student.new;Person*testPer=Person.new;////>对象是否是哪个类BOOLres5=[testStuisKindOfClass:[Personclass]];//1BOOLres6=[testPerisMember
isMemberOfClass和isKindOfClass区别
coding_Liu
if([scrollViewisKindOfClass:[UIViewclass]]){NSLog(@"scrollViewisisKindOfClassUIView");}if([scrollViewisKindOfClass:[UIScrollViewclass]]){NSLog(@"scrollViewisisKindOfClassUIScrollView");}if([scrollView
iOS 捋清楚 isKindOfClass 与 isMemberOfClass
水煮杰尼龟
今天从源码来彻底了解这俩方法的区别。相信很多人应该都遇到过类似的面试题,日常开发中也用这俩方法做过不少判断,比如后台返回的数据是不是数组,是不是null,是不是字典,某个实例是不是指定的控制器等等。BOOLres1=[[NSObjectclass]isKindOfClass:[NSObjectclass]];BOOLres2=[[NSObjectclass]isMemberOfClass:[N
iOS 中内省的几个方法?class方法和objc_getClass方法有什么区别?
natewang
内省方法判断对象类型:-(BOOL)isKindOfClass:判断是否是这个类或者这个类的子类的实例-(BOOL)isMemberOfClass:判断是否是这个类的实例判断对象or类是否有这个方法-(BOOL)respondsToSelector:判读实例是否有这样方法+(BOOL)instancesRespondToSelector:判断类是否有这个方法object_getClass:获得的是
isMemberOfClass和isKindOfClass区别
OCSwift
源码实现减号开头的方法//判断类对象是否是传进来的类对象-(BOOL)isMemberOfClass:(Class)cls{return[selfclass]==cls;}//判断类对象是否是传进来的类对象类型或者类对象的子类-(BOOL)isKindOfClass:(Class)cls{for(Classtcls=[selfclass];tcls;tcls=tcls->superclass){i
几个常见方法比较
wpf_register
用来判断是否是某个类或其子类的实例-(BOOL)isKindOfClass:classObj用来判断是否是某个类的实例-(BOOL)isMemberOfClass:classObj用来判断是否有以某个名字命名的方法(被封装在一个selector的对象里传递)-(BOOL)respondsToSelector:selector用来判断实例是否有以某个名字命名的方法,相较之前,前面这个方法可以用在实例
iOS UINavigationController 多控制器跳转
梦想踏天
例如UIViewController是你要跳转的控制器场景一:根控制器是A,需求是A-->B,B-->C,C-->D,D-->B;场景二:根控制器是B,需求是B-->C,C-->D,D-->B;NSArray*viewArr=self.navigationController.viewControllers;if([viewArr[0]isKindOfClass:[UIViewController
isKindOfClass 和 isMemberOfClass
weixhe
这两个方法都有实例方法和类方法实例方法内部:调用者的类对象==传进去的cls类方法内部:调用者的元类的对象==传进去的cls源码:-(BOOL)isKindOfClass:(Class)cls{//当前类对象==cls或cls子类for(Classtcls=[selfclass];tcls;tcls=tcls->superclass){if(tcls==cls)returnYES;}returnN
objc_msgSend 流程
北京_小海
1.runtime简介Runtime分为两个版本,legacy和modern,分别对应Objective-C1.0和Objective-C2.0。我们通常只需要专注于modern通过c、c++、混编给我们的object-c提供运行时功能调用runtime有三种途径(1)Objective-CCode例:[personsayNB](2)Framework&Serivce例:isKindofClass
【iOS】isKindOfClass和isMemberOfClass方法
瓯海剑
OC
前言这个归根结底还是在考察我们对isa走向图和类的继承的理解,也就是苹果官方这幅图:接下来的函数调用流程请参考这张图。1isKindOfClass方法1.1objc_opt_isKindOfClassC函数查看源码可发现,无论是谁调用isKindOfClass方法都会进入这个C函数。(这个C函数位于NSObjective.mm)//Calls[objisKindOfClass]//当obj调用is
命名空间和反射机制
JailbreakLifer
什么是反射机制对于任意一个类,都能够知道这个类的所有属性和方法对于任意一个对象,都可以调用它的任意一个方法和属性这种动态获取的信息以及动态调用对象方法的功能叫做Java语言的反射机制在OC中的反射机制利用NSClassFromString方法来使用字符串获取类利用isMemberOfClass:判断是否是某一个类利用isKindOfClass判断是否是某个类的子类利用conformsToProto
iOS中内省的几个方法?
搬砖公
//对象是否是某个类型isMemberOfClass//对象是否是某个类型或某个类型子类isKindOfClass//某个类对象是否是另一个类型的子类isSubclassOfClass//某个类对象是否是另一个类型的父类isAncestorOfObject//是否能响应某个对象方法respondsToSelector//是否能响应某个类方法instancesRespondToSelector//是
[__NSCFConstantString objectForKeyedSubscript:]
汤圆奶爸
在解析Json数据时极易发生字典取不到相应数据可以判断取不到的值是否是字典类型如[sucContent[@"data"][@"status"]isKindOfClass:[NSDictionaryclass]]
IOS一些判断条件
艾泽拉斯大祭司
1、判断后台返回的JSON了,而其中最常用的就是-(BOOL)isEqualToString:(NSString*)aString;用法NSString*str=@"";[strisEqualToString:@"”];判断左右字符串的字面值是否一致。如果一致返回YES,否则返回NO。2、空对象的比较,如何判断空对象呢?-(BOOL)isKindOfClass:(Class)aClass;就要用到
isKindOfClass与isMemberOfClass的区别
EmulatingStep
源码分析:+(BOOL)isMemberOfClass:(Class)cls{returnobject_getClass((id)self)==cls;}-(BOOL)isMemberOfClass:(Class)cls{return[selfclass]==cls;}+(BOOL)isKindOfClass:(Class)cls{//获取的是该类的metaclassfor(Classtcls=o
isKindOfClass 与 isMemberOfClass 有什么区别?
初灬终
image.pngTestPerson*per=[Personnew];/*实例方法里面的self,是对象的首地址。类方法里面的self,是Class。源码for循环中NSObject的isa是NSObject元类,metaNSObject不等于NSObject.class类对象。然后取NSObject元类的superclass是NSObject类对象,等于NSObject.class类对象*/B
isKindOfClass,isMemberOfClass
Berning
+(BOOL)isMemberOfClass:(Class)cls{returnself->ISA()==cls;}-(BOOL)isMemberOfClass:(Class)cls{return[selfclass]==cls;}+(BOOL)isKindOfClass:(Class)cls{for(Classtcls=self->ISA();tcls;tcls=tcls->superclass
3-4 super self 和 Method-Swizzling 消息交换
Rumbles
1.super,isKindOfClass,isMemberOfClass2336684744[selfclass].打印的是Student通过实例对象的isa指针找到找到其类对象,所以打印是Student。[superclass]打印的也是Student因为super。的消息接受者还是self。super仅仅指的是从父类寻找方法[supersuperclass]这个其实和第二个的情况是一样的,给
IOS-OC-多态、isMemberOfClass和isKindOfClass
草根小强
多态一.多态与类的消息(方法)机制指同一个消息(方法)根据发送的对象不同,而采用不同的行为方式//因为其他类都是继承父类的我们要添加方法也只是再父类那里添加方法,所以不会对其他类产生影响,因为父类的方法(消息)子类爱用不用,没什么影响扩充性我们添加方法不会影响其他类//我们要调用同一个功能,而这个功能有很多对象来进行的,我们可以把他们的父类弄成某个类的成员变量,再在实现的时候,我们只需传入某个子类
[super class]与[self class]、isKindOfClass与isMemberOfClass
coderLZ
面试题一在项目中新建Person类继承NSObject,在Person类中打印NSLog(@"%@--%@--%@--%@",[selfclass],[superclass],[selfsuperclass],[supersuperclass]);打印结果分别是什么?源码分析回答这个面试题之前我们需要先弄懂两点:•class与superClass方法•super关键字class方法OC源码下载地址
iOS面试题:iOS 中内省的几个方法?
iOS猿_员
对象在运行时获取其类型的能力称为内省。内省可以有多种方法实现。OC运行时内省的4个方法:判断对象类型:-(BOOL)isKindOfClass:判断是否是这个类或者这个类的子类的实例-(BOOL)isMemberOfClass:判断是否是这个类的实例判断对象/类是否有这个方法-(BOOL)respondsToSelector:判读实例是否有这样方法+(BOOL)instancesRespondTo
多线程编程之卫生间
周凡杨
java并发卫生间线程厕所
如大家所知,火车上车厢的卫生间很小,每次只能容纳一个人,一个车厢只有一个卫生间,这个卫生间会被多个人同时使用,在实际使用时,当一个人进入卫生间时则会把卫生间锁上,等出来时打开门,下一个人进去把门锁上,如果有一个人在卫生间内部则别人的人发现门是锁的则只能在外面等待。问题分析:首先问题中有两个实体,一个是人,一个是厕所,所以设计程序时就可以设计两个类。人是多数的,厕所只有一个(暂且模拟的是一个车厢)。
How to Install GUI to Centos Minimal
sunjing
linuxInstallDesktopGUI
http://www.namhuy.net/475/how-to-install-gui-to-centos-minimal.html
I have centos 6.3 minimal running as web server. I’m looking to install gui to my server to vnc to my server. You can insta
Shell 函数
daizj
shell函数
Shell 函数
linux shell 可以用户定义函数,然后在shell脚本中可以随便调用。
shell中函数的定义格式如下:
[function] funname [()]{
action;
[return int;]
}
说明:
1、可以带function fun() 定义,也可以直接fun() 定义,不带任何参数。
2、参数返回
Linux服务器新手操作之一
周凡杨
Linux 简单 操作
1.whoami
当一个用户登录Linux系统之后,也许他想知道自己是发哪个用户登录的。
此时可以使用whoami命令。
[ecuser@HA5-DZ05 ~]$ whoami
e
浅谈Socket通信(一)
朱辉辉33
socket
在java中ServerSocket用于服务器端,用来监听端口。通过服务器监听,客户端发送请求,双方建立链接后才能通信。当服务器和客户端建立链接后,两边都会产生一个Socket实例,我们可以通过操作Socket来建立通信。
首先我建立一个ServerSocket对象。当然要导入java.net.ServerSocket包
ServerSock
关于框架的简单认识
西蜀石兰
框架
入职两个月多,依然是一个不会写代码的小白,每天的工作就是看代码,写wiki。
前端接触CSS、HTML、JS等语言,一直在用的CS模型,自然免不了数据库的链接及使用,真心涉及框架,项目中用到的BootStrap算一个吧,哦,JQuery只能算半个框架吧,我更觉得它是另外一种语言。
后台一直是纯Java代码,涉及的框架是Quzrtz和log4j。
都说学前端的要知道三大框架,目前node.
You have an error in your SQL syntax; check the manual that corresponds to your
林鹤霄
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'option,changed_ids ) values('0ac91f167f754c8cbac00e9e3dc372
MySQL5.6的my.ini配置
aigo
mysql
注意:以下配置的服务器硬件是:8核16G内存
[client]
port=3306
[mysql]
default-character-set=utf8
[mysqld]
port=3306
basedir=D:/mysql-5.6.21-win
mysql 全文模糊查找 便捷解决方案
alxw4616
mysql
mysql 全文模糊查找 便捷解决方案
2013/6/14 by 半仙
[email protected]
目的: 项目需求实现模糊查找.
原则: 查询不能超过 1秒.
问题: 目标表中有超过1千万条记录. 使用like '%str%' 进行模糊查询无法达到性能需求.
解决方案: 使用mysql全文索引.
1.全文索引 : MySQL支持全文索引和搜索功能。MySQL中的全文索
自定义数据结构 链表(单项 ,双向,环形)
百合不是茶
单项链表双向链表
链表与动态数组的实现方式差不多, 数组适合快速删除某个元素 链表则可以快速的保存数组并且可以是不连续的
单项链表;数据从第一个指向最后一个
实现代码:
//定义动态链表
clas
threadLocal实例
bijian1013
javathreadjava多线程threadLocal
实例1:
package com.bijian.thread;
public class MyThread extends Thread {
private static ThreadLocal tl = new ThreadLocal() {
protected synchronized Object initialValue() {
return new Inte
activemq安全设置—设置admin的用户名和密码
bijian1013
javaactivemq
ActiveMQ使用的是jetty服务器, 打开conf/jetty.xml文件,找到
<bean id="adminSecurityConstraint" class="org.eclipse.jetty.util.security.Constraint">
<p
【Java范型一】Java范型详解之范型集合和自定义范型类
bit1129
java
本文详细介绍Java的范型,写一篇关于范型的博客原因有两个,前几天要写个范型方法(返回值根据传入的类型而定),竟然想了半天,最后还是从网上找了个范型方法的写法;再者,前一段时间在看Gson, Gson这个JSON包的精华就在于对范型的优雅简单的处理,看它的源代码就比较迷糊,只其然不知其所以然。所以,还是花点时间系统的整理总结下范型吧。
范型内容
范型集合类
范型类
【HBase十二】HFile存储的是一个列族的数据
bit1129
hbase
在HBase中,每个HFile存储的是一个表中一个列族的数据,也就是说,当一个表中有多个列簇时,针对每个列簇插入数据,最后产生的数据是多个HFile,每个对应一个列族,通过如下操作验证
1. 建立一个有两个列族的表
create 'members','colfam1','colfam2'
2. 在members表中的colfam1中插入50*5
Nginx 官方一个配置实例
ronin47
nginx 配置实例
user www www;
worker_processes 5;
error_log logs/error.log;
pid logs/nginx.pid;
worker_rlimit_nofile 8192;
events {
worker_connections 4096;}
http {
include conf/mim
java-15.输入一颗二元查找树,将该树转换为它的镜像, 即在转换后的二元查找树中,左子树的结点都大于右子树的结点。 用递归和循环
bylijinnan
java
//use recursion
public static void mirrorHelp1(Node node){
if(node==null)return;
swapChild(node);
mirrorHelp1(node.getLeft());
mirrorHelp1(node.getRight());
}
//use no recursion bu
返回null还是empty
bylijinnan
javaapachespring编程
第一个问题,函数是应当返回null还是长度为0的数组(或集合)?
第二个问题,函数输入参数不当时,是异常还是返回null?
先看第一个问题
有两个约定我觉得应当遵守:
1.返回零长度的数组或集合而不是null(详见《Effective Java》)
理由就是,如果返回empty,就可以少了很多not-null判断:
List<Person> list
[科技与项目]工作流厂商的战略机遇期
comsci
工作流
在新的战略平衡形成之前,这里有一个短暂的战略机遇期,只有大概最短6年,最长14年的时间,这段时间就好像我们森林里面的小动物,在秋天中,必须抓紧一切时间存储坚果一样,否则无法熬过漫长的冬季。。。。
在微软,甲骨文,谷歌,IBM,SONY
过度设计-举例
cuityang
过度设计
过度设计,需要更多设计时间和测试成本,如无必要,还是尽量简洁一些好。
未来的事情,比如 访问量,比如数据库的容量,比如是否需要改成分布式 都是无法预料的
再举一个例子,对闰年的判断逻辑:
1、 if($Year%4==0) return True; else return Fasle;
2、if ( ($Year%4==0 &am
java进阶,《Java性能优化权威指南》试读
darkblue086
java性能优化
记得当年随意读了微软出版社的.NET 2.0应用程序调试,才发现调试器如此强大,应用程序开发调试其实真的简单了很多,不仅仅是因为里面介绍了很多调试器工具的使用,更是因为里面寻找问题并重现问题的思想让我震撼,时隔多年,Java已经如日中天,成为许多大型企业应用的首选,而今天,这本《Java性能优化权威指南》让我再次找到了这种感觉,从不经意的开发过程让我刮目相看,原来性能调优不是简单地看看热点在哪里,
网络学习笔记初识OSI七层模型与TCP协议
dcj3sjt126com
学习笔记
协议:在计算机网络中通信各方面所达成的、共同遵守和执行的一系列约定 计算机网络的体系结构:计算机网络的层次结构和各层协议的集合。 两类服务: 面向连接的服务通信双方在通信之前先建立某种状态,并在通信过程中维持这种状态的变化,同时为服务对象预先分配一定的资源。这种服务叫做面向连接的服务。 面向无连接的服务通信双方在通信前后不建立和维持状态,不为服务对象
mac中用命令行运行mysql
dcj3sjt126com
mysqllinuxmac
参考这篇博客:http://www.cnblogs.com/macro-cheng/archive/2011/10/25/mysql-001.html 感觉workbench不好用(有点先入为主了)。
1,安装mysql
在mysql的官方网站下载 mysql 5.5.23 http://www.mysql.com/downloads/mysql/,根据我的机器的配置情况选择了64
MongDB查询(1)——基本查询[五]
eksliang
mongodbmongodb 查询mongodb find
MongDB查询
转载请出自出处:http://eksliang.iteye.com/blog/2174452 一、find简介
MongoDB中使用find来进行查询。
API:如下
function ( query , fields , limit , skip, batchSize, options ){.....}
参数含义:
query:查询参数
fie
base64,加密解密 经融加密,对接
y806839048
经融加密对接
String data0 = new String(Base64.encode(bo.getPaymentResult().getBytes(("GBK"))));
String data1 = new String(Base64.decode(data0.toCharArray()),"GBK");
// 注意编码格式,注意用于加密,解密的要是同
JavaWeb之JSP概述
ihuning
javaweb
什么是JSP?为什么使用JSP?
JSP表示Java Server Page,即嵌有Java代码的HTML页面。使用JSP是因为在HTML中嵌入Java代码比在Java代码中拼接字符串更容易、更方便和更高效。
JSP起源
在很多动态网页中,绝大部分内容都是固定不变的,只有局部内容需要动态产生和改变。
如果使用Servl
apple watch 指南
啸笑天
apple
1. 文档
WatchKit Programming Guide(中译在线版 By @CocoaChina) 译文 译者 原文 概览 - 开始为 Apple Watch 进行开发 @星夜暮晨 Overview - Developing for Apple Watch 概览 - 配置 Xcode 项目 - Overview - Configuring Yo
java经典的基础题目
macroli
java编程
1.列举出 10个JAVA语言的优势 a:免费,开源,跨平台(平台独立性),简单易用,功能完善,面向对象,健壮性,多线程,结构中立,企业应用的成熟平台, 无线应用 2.列举出JAVA中10个面向对象编程的术语 a:包,类,接口,对象,属性,方法,构造器,继承,封装,多态,抽象,范型 3.列举出JAVA中6个比较常用的包 Java.lang;java.util;java.io;java.sql;ja
你所不知道神奇的js replace正则表达式
qiaolevip
每天进步一点点学习永无止境纵观千象regex
var v = 'C9CFBAA3CAD0';
console.log(v);
var arr = v.split('');
for (var i = 0; i < arr.length; i ++) {
if (i % 2 == 0) arr[i] = '%' + arr[i];
}
console.log(arr.join(''));
console.log(v.r
[一起学Hive]之十五-分析Hive表和分区的统计信息(Statistics)
superlxw1234
hivehive分析表hive统计信息hive Statistics
关键字:Hive统计信息、分析Hive表、Hive Statistics
类似于Oracle的分析表,Hive中也提供了分析表和分区的功能,通过自动和手动分析Hive表,将Hive表的一些统计信息存储到元数据中。
表和分区的统计信息主要包括:行数、文件数、原始数据大小、所占存储大小、最后一次操作时间等;
14.1 新表的统计信息
对于一个新创建
Spring Boot 1.2.5 发布
wiselyman
spring boot
Spring Boot 1.2.5已在7月2日发布,现在可以从spring的maven库和maven中心库下载。
这个版本是一个维护的发布版,主要是一些修复以及将Spring的依赖提升至4.1.7(包含重要的安全修复)。
官方建议所有的Spring Boot用户升级这个版本。
项目首页 | 源