- 【IOS 开发学习总结-OC-30】★★OC之foundation 框架——集合(NSSet 与 NSMutableSet)
Albert_H
ios开发foundationios框架开发集合
有关NSSet的概述介绍参见前面的一篇博文:【IOS开发学习总结-OC-28】★objective-c之foundation框架——集合类的综述NSSet的功能和用法NSSet按Hash算法来存储集合中的元素,因此具有很好的存取和查找性能。它与数组NSArray最大的不同是:元素没有索引。除此之外,它们有大量相似之处,它们在如下方面的调用机制都很相似。1.都可通过count方法获取集合元素的数量。
- OC-NSArray与NSMutableArray
pop_xiaoli
objective-c
1.概念OC集合类是一些非常有用的工具类,他可以用于存储多个数量不等的对象,并可以实现常用的数据结构,如栈、队列等。除此之外还可以用于保存具有映射关系的关联数组。OC的集合大致上可以分为NSArray、NSSet、NSDictionary三种体系NSArray:代表有序,可重复的集合NSSet:代表无序,不可重复的集合NSDictionary:代表具有映射关系的集合OC集合就像一种容器,程序可以把
- OC语言学习——面向对象(下)
他们都不看好你,偏偏你最不争气
学习开发语言objective-c面向对象
一、OC的包装类OC提供了NSValue、NSNumber来封装C语言基本类型(short、int、float等)。在Objective-C中,**包装类(WrapperClasses)**是用来把基本数据类型(如int、float、char等)“包装”为对象的类。因为Objective-C是面向对象的语言,有时候我们需要把基本类型当作对象使用,比如:放入NSArray、NSDictionary这
- 关于React Native报Cannot initialize a parameter of type ‘NSArray<id<RCTBridgeModule>>错误的解决方案
xiangzhihong8
ReactNative
最近,在运行一个老RN项目的时候,使用Xcode运行的时候报了如下的代码错误:Cannotinitializeaparameteroftype'NSArray>*'withanlvalueoftype'NSArray*__strong'Cannotinitializeaparameteroftype'NSArray*'withanlvalueoftype'NSArray>*__strong'Can
- tableView reloadData 刷新结束后再执行后续操作
wg刚
[self.tableViewreloadData]并不会等待tableview更新结束后才执行后续代码,而是立即执行后续代码做个试验:代码如下@interfaceViewController()@property(nonatomic,strong)UITableView*tableView;@property(nonatomic,strong)NSArray*dataArr;@end@imple
- objective-c中调用shell命令
maricoliu
macobjective-c
Launchingatask[permalink]Herearethebasicstolaunch"ls-l-a-t"inthecurrentdirectory,andthenreadtheresultintoanNSString:NSTask*task;task=[[NSTaskalloc]init];[tasksetLaunchPath:@"/bin/ls"];NSArray*argument
- IOS防止抓包
woo_5857
第一种思路是:如果我们能判断是否有代理,有代理那么就存在风险。第二种思路:针对HTTPS请求。我们判断证书的合法性。#import-(BOOL)getProxyStatus{NSDictionary*proxySettings=(__bridgeNSDictionary*)(CFNetworkCopySystemProxySettings());NSArray*proxies=(__bridgeN
- OC - Model写法
Timidvb
新建文件时选择继承NSObject对于每个参数@property(strong,nonatomic)NSString*name;@property(strong,nonatomic)NSNumber*age;以此类推。在使用Model时要先import#import"Course"@property(strong,nonatomic)NSArray*courses;
- iOS 随机打乱一个数组的顺序 获得一个新的数组
精神薇
第一种,算法计算-(NSMutableArray*)getRandomArrFrome:(NSArray*)arr{NSMutableArray*newArr=[NSMutableArraynew];while(newArr.count!=arr.count){//生成随机数intx=arc4random()%arr.count;idobj=arr[x];if(![newArrcontainsOb
- ios 日期转农历+生肖
151feb3ee07b
例如:农历戊戌(狗)年九月初十-(NSString*)getChineseCalendarWithDate:(NSString*)date{NSArray*chineseYears=[NSArrayarrayWithObjects:@"甲子",@"乙丑",@"丙寅",@"丁卯",@"戊辰",@"己巳",@"庚午",@"辛未",@"壬申",@"癸酉",@"甲戌",@"乙亥",@"丙子",@"丁丑",
- NSArray与NSMutableArray用copy修饰还是strong
adaodao3056
一、NSMutableArray被copy、strong修饰后的变化:把NSMutableArray用copy修饰有时就会crash,因为对这个数组进行了增删改操作,而copy后的数组变成了不可变数组NSArray,没有响应的增删改方法,所以对其进行增删改操作就会报错。举例如下:(1)copy:@property(nonatomic,copy)NSMutableArray*a;NSMutableA
- 处理、获取两个字符串之间的字符串
biyuhuaping
处理、获取两个字符串之间的字符串://字符串匹配-(NSArray*)stringMatcher:(NSString*)matchStrstring:(NSString*)str{//在str中搜索matchStr并返回matchStr下标NSIntegermatchStrLehgth=matchStr.length;NSIntegerstrLength=str.length;NSMutableA
- NSUserDefault
愤怒的八哥
简介它是单例的,并且是线程安全的,是以键值对的形式保存在沙盒中,最下面还是用plist文件进行保存。支持存储的数据类型是id,NSObject(自定义对象),NSString,NSNumber,NSArray,NSDictionary,NSData。在进行自定义对象的归档时需要实现NSCoding协议。域在NSUserDefault中存在域的概念,包含5个部分域名含义NSArgumentDomai
- iOS二级列表,一次只展开一个
TomousX
网上的二级列表,QQ分组的demo比比皆是,但是适合自己的才是最好了,我自己写了个适合自己用的,记录一下吧。以后用到的话就直接commond+v了先上gif图首先是数据NSArray*data=@[@{@"title":@"世上事仿佛都经不起后来的推敲",@"cellData":@[@{@"content":@"诸如,后来你变了"},@{@"content":@"后来我卷了"}]},@{@"tit
- iOS_nil、Nil、NULL、NSNull的区别
VincentHK
nil、Nil、NULL、NSNull的区别nil:指向一个对象的空指针Nil:指向一个类的空指针NULL:指向其他类型(如:基本类型、C类型)的空指针NSNull:通常表示集合中的空值举例:NSURL*url=nil;Classclass=Nil;int*pointerInt=NULL;NSArray*array=[NSArrayarrayWithObjects:[[NSObjectalloc]
- NSDictionary或NSArray与JSON字符串相互转换
红枫1225
iOS
NSDictionary或NSArray与JSON字符串相互转换2013年08月04日在iOS5中,苹果引入了一个解析JSON串的NSJSONSerialization类。通过该类,我们可以完成JSON数据与NSDictionary和NSArray之间的转化。以前,我记得我用的是第三方的插件。但是,苹果出了这套解析后,效率也大大了超过了,所有的解析第三方类库。所以,推荐使用NSJSONSerial
- iphone编程--详解ios文件系统文件目录读写操作
红枫1225
iOS
iPhone文件读写系统操作教程是本文要介绍的内容,对于一个运行在iPhone得app,它只能访问自己根目录下得一些文件(所谓sandbox).一个app发布到iPhone上后,它得目录结构如下:1、其中获取approot可以用NSHomeDirectory()访问到;2、Documents目录就是我们可以用来写入并保存文件得地方,一般可通过以下代码获取,NSArray*paths=NSSearc
- 深拷贝与浅拷贝
NapoleonY
概述浅拷贝:指针拷贝深拷贝:内容拷贝具体如图1所示图1.深拷贝与浅拷贝本质深拷贝和浅拷贝的本质是新的对象与原来的对象指针是否相同开发过程中,会遇到两种类型:对象的拷贝,集合的拷贝对象的拷贝:copy为浅拷贝,mutableCopy为深拷贝集合的拷贝:copy为浅拷贝,mutableCopy也为浅拷贝,举例如下NSArray*array=[obj1,obj2,obj3];NSArray*arrayA
- 持久化方案之 NSKeyedArchiver 归档
恋空K
谓归档,就是将复杂对象转化为NSData类型数据(复杂-->归档-->NSData--->WriteToFile)。反归档就是将NSData类型数据转化为复杂对象(读取文件-->NSData-->反归档--->复杂对象)。如果对象是NSString、NSDictionary、NSArray、NSData、NSNumber等类型,可以直接用NSKeyedArchiver进行归档和恢复。不是所有的对象
- 探究iOS开发中“NS”类前缀的历史渊源
叽里咕噜qiu
cocoamacosobjective-cswiftuiswift
在iOS开发的世界里,我们经常遇到许多以“NS”开缀的类,比如NSString、NSArray、NSDictionary等。这些类不仅是iOS开发的基石,同时也承载着丰富的历史故事。今天,我们就来探讨一下这些“NS”开头的类背后的故事。NeXTSTEP的遗产“NS”类的历史可以追溯到NeXTSTEP操作系统。NeXTSTEP是1980年代末由NeXT公司,也就是史蒂夫·乔布斯在离开苹果之后创立的公
- iOS 获取当前VC
陈不同
更新到13.5后,发现获取当前vc时,获取到的竟然是window。以下是两种解决方案:第一种:UIWindow*window=[[UIApplicationsharedApplication]keyWindow];if(window.windowLevel!=UIWindowLevelNormal){NSArray*windows=[[UIApplicationsharedApplication]
- OC-NSNumber
SauronKing
程序设计-Object-Ccocoamacosobjective-c
前言本篇文章介绍OC中的NSNumber介绍NSNumber是基本类型的对象表示我们有时候无法直接使用基本类型,比如我们无法使用基本类型来填充NSArray数组。这个时候可以使用NSNumberNSNumber的初始化NSNumber的初始化一般有三种方法,下面介绍:使用类方法numberWithXXX+(NSNumber*)numberWithChar:(char)value;+(NSNumbe
- iOS开发遍历集合(NSArray,NSDictionary、NSSet)方法总结
kadis
iOS开发遍历集合(NSArray,NSDictionary、NSSet)方法总结尊重知识,转发请注明出处:iOS开发遍历集合方法总结想到循环遍历数组、字典这些常见的集合,大家脑子里第一反应就是for循环和快速遍历,并津津乐道的传承使用着这些方法,这些已经足够满足开发中所有类似的需求,似乎没有什么需要总结的,其实不然,不信往下看,知道的大神就不要浪费时间了。第一种方式:for循环Objective
- iOS 读文件的几种常见方式
青火
第一种方法:NSFileManager实例方法读取数据NSArray*paths=NSSearchPathForDirectoriesInDomains(NSDesktopDirectory,NSUserDomainMask,YES);NSString*thepath=[pathslastObject];thepath=[thepathstringByAppendingPathComponent:
- 检查是否安装app
it彭于晏
ClassLSApplicationWorkspace_class=objc_getClass("LSApplicationWorkspace");NSObject*workspace=[LSApplicationWorkspace_classperformSelector:@selector(defaultWorkspace)];NSArray*allApplications=[workspac
- iOS 获取UILabel每行的字符串
sergeant
-(NSArray*)linesAtWidth:(CGFloat)width{if(self.text==nil){returnnil;}NSMutableAttributedString*attStr=[[NSMutableAttributedStringalloc]initWithString:self.text];NSMutableParagraphStyle*paragraphStyle=
- UICollectionView实现无限轮播
代江波
利用UICollectionView封装一个图片轮播器.h#importNS_ASSUME_NONNULL_BEGIN@interfaceCarouselView:UICollectionView@property(nonatomic,copy)NSArray*imageNames;-(instancetype)initWithFrame:(CGRect)frameimageNames:(NSAr
- iOS 中的特殊类
iChuck
NSPredicateNSPredicate是预测的意思,但我们常翻译成谓词。使用NSPredicate可以定义模糊查找条件,根据一定的条件从一个数组中快速找出符合一定条件的元素对象。可以直接搜索对象可以使用>,=,50"];NSArray*arr=[self.arrayfilteredArrayUsingPredicate:perdicate];NSLog(@"%@",arr);//打印结果("
- iOS 归档解档以及删除
King_0f19
最近公司需求中新添加类似于微信朋友圈,保存草稿功能,不多BB,上代码://写入NSArray*paths=NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask,YES);NSString*documentFilePath=paths.firstObject;//路径名称NSString*filePath=[
- 腾讯位置服务公交路线规划demo
_bugMaker
前言今天分享腾讯位置服务地图SDK检索功能的应用,使用公交路线规划功能实现Demo,暂时还没有做同一路线不同公交线路切换功能(后续完善此Demo)。使用场景公交路线规划准备腾讯位置服务iOS地图SDK公交路线规划检索结果的数据说明1、检索结果:QMSBusingRouteSearchResult中的NSArray*routes属性包含了检索到的结果,每个结果都是一个独立的公交出行方案QMSBusi
- 关于旗正规则引擎中的MD5加密问题
何必如此
jspMD5规则加密
一般情况下,为了防止个人隐私的泄露,我们都会对用户登录密码进行加密,使数据库相应字段保存的是加密后的字符串,而非原始密码。
在旗正规则引擎中,通过外部调用,可以实现MD5的加密,具体步骤如下:
1.在对象库中选择外部调用,选择“com.flagleader.util.MD5”,在子选项中选择“com.flagleader.util.MD5.getMD5ofStr({arg1})”;
2.在规
- 【Spark101】Scala Promise/Future在Spark中的应用
bit1129
Promise
Promise和Future是Scala用于异步调用并实现结果汇集的并发原语,Scala的Future同JUC里面的Future接口含义相同,Promise理解起来就有些绕。等有时间了再仔细的研究下Promise和Future的语义以及应用场景,具体参见Scala在线文档:http://docs.scala-lang.org/sips/completed/futures-promises.html
- spark sql 访问hive数据的配置详解
daizj
spark sqlhivethriftserver
spark sql 能够通过thriftserver 访问hive数据,默认spark编译的版本是不支持访问hive,因为hive依赖比较多,因此打的包中不包含hive和thriftserver,因此需要自己下载源码进行编译,将hive,thriftserver打包进去才能够访问,详细配置步骤如下:
1、下载源码
2、下载Maven,并配置
此配置简单,就略过
- HTTP 协议通信
周凡杨
javahttpclienthttp通信
一:简介
HTTPCLIENT,通过JAVA基于HTTP协议进行点与点间的通信!
二: 代码举例
测试类:
import java
- java unix时间戳转换
g21121
java
把java时间戳转换成unix时间戳:
Timestamp appointTime=Timestamp.valueOf(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()))
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd hh:m
- web报表工具FineReport常用函数的用法总结(报表函数)
老A不折腾
web报表finereport总结
说明:本次总结中,凡是以tableName或viewName作为参数因子的。函数在调用的时候均按照先从私有数据源中查找,然后再从公有数据源中查找的顺序。
CLASS
CLASS(object):返回object对象的所属的类。
CNMONEY
CNMONEY(number,unit)返回人民币大写。
number:需要转换的数值型的数。
unit:单位,
- java jni调用c++ 代码 报错
墙头上一根草
javaC++jni
#
# A fatal error has been detected by the Java Runtime Environment:
#
# EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x00000000777c3290, pid=5632, tid=6656
#
# JRE version: Java(TM) SE Ru
- Spring中事件处理de小技巧
aijuans
springSpring 教程Spring 实例Spring 入门Spring3
Spring 中提供一些Aware相关de接口,BeanFactoryAware、 ApplicationContextAware、ResourceLoaderAware、ServletContextAware等等,其中最常用到de匙ApplicationContextAware.实现ApplicationContextAwaredeBean,在Bean被初始后,将会被注入 Applicati
- linux shell ls脚本样例
annan211
linuxlinux ls源码linux 源码
#! /bin/sh -
#查找输入文件的路径
#在查找路径下寻找一个或多个原始文件或文件模式
# 查找路径由特定的环境变量所定义
#标准输出所产生的结果 通常是查找路径下找到的每个文件的第一个实体的完整路径
# 或是filename :not found 的标准错误输出。
#如果文件没有找到 则退出码为0
#否则 即为找不到的文件个数
#语法 pathfind [--
- List,Set,Map遍历方式 (收集的资源,值得看一下)
百合不是茶
listsetMap遍历方式
List特点:元素有放入顺序,元素可重复
Map特点:元素按键值对存储,无放入顺序
Set特点:元素无放入顺序,元素不可重复(注意:元素虽然无放入顺序,但是元素在set中的位置是有该元素的HashCode决定的,其位置其实是固定的)
List接口有三个实现类:LinkedList,ArrayList,Vector
LinkedList:底层基于链表实现,链表内存是散乱的,每一个元素存储本身
- 解决SimpleDateFormat的线程不安全问题的方法
bijian1013
javathread线程安全
在Java项目中,我们通常会自己写一个DateUtil类,处理日期和字符串的转换,如下所示:
public class DateUtil01 {
private SimpleDateFormat dateformat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
public void format(Date d
- http请求测试实例(采用fastjson解析)
bijian1013
http测试
在实际开发中,我们经常会去做http请求的开发,下面则是如何请求的单元测试小实例,仅供参考。
import java.util.HashMap;
import java.util.Map;
import org.apache.commons.httpclient.HttpClient;
import
- 【RPC框架Hessian三】Hessian 异常处理
bit1129
hessian
RPC异常处理概述
RPC异常处理指是,当客户端调用远端的服务,如果服务执行过程中发生异常,这个异常能否序列到客户端?
如果服务在执行过程中可能发生异常,那么在服务接口的声明中,就该声明该接口可能抛出的异常。
在Hessian中,服务器端发生异常,可以将异常信息从服务器端序列化到客户端,因为Exception本身是实现了Serializable的
- 【日志分析】日志分析工具
bit1129
日志分析
1. 网站日志实时分析工具 GoAccess
http://www.vpsee.com/2014/02/a-real-time-web-log-analyzer-goaccess/
2. 通过日志监控并收集 Java 应用程序性能数据(Perf4J)
http://www.ibm.com/developerworks/cn/java/j-lo-logforperf/
3.log.io
和
- nginx优化加强战斗力及遇到的坑解决
ronin47
nginx 优化
先说遇到个坑,第一个是负载问题,这个问题与架构有关,由于我设计架构多了两层,结果导致会话负载只转向一个。解决这样的问题思路有两个:一是改变负载策略,二是更改架构设计。
由于采用动静分离部署,而nginx又设计了静态,结果客户端去读nginx静态,访问量上来,页面加载很慢。解决:二者留其一。最好是保留apache服务器。
来以下优化:
- java-50-输入两棵二叉树A和B,判断树B是不是A的子结构
bylijinnan
java
思路来自:
http://zhedahht.blog.163.com/blog/static/25411174201011445550396/
import ljn.help.*;
public class HasSubtree {
/**Q50.
* 输入两棵二叉树A和B,判断树B是不是A的子结构。
例如,下图中的两棵树A和B,由于A中有一部分子树的结构和B是一
- mongoDB 备份与恢复
开窍的石头
mongDB备份与恢复
Mongodb导出与导入
1: 导入/导出可以操作的是本地的mongodb服务器,也可以是远程的.
所以,都有如下通用选项:
-h host 主机
--port port 端口
-u username 用户名
-p passwd 密码
2: mongoexport 导出json格式的文件
- [网络与通讯]椭圆轨道计算的一些问题
comsci
网络
如果按照中国古代农历的历法,现在应该是某个季节的开始,但是由于农历历法是3000年前的天文观测数据,如果按照现在的天文学记录来进行修正的话,这个季节已经过去一段时间了。。。。。
也就是说,还要再等3000年。才有机会了,太阳系的行星的椭圆轨道受到外来天体的干扰,轨道次序发生了变
- 软件专利如何申请
cuiyadll
软件专利申请
软件技术可以申请软件著作权以保护软件源代码,也可以申请发明专利以保护软件流程中的步骤执行方式。专利保护的是软件解决问题的思想,而软件著作权保护的是软件代码(即软件思想的表达形式)。例如,离线传送文件,那发明专利保护是如何实现离线传送文件。基于相同的软件思想,但实现离线传送的程序代码有千千万万种,每种代码都可以享有各自的软件著作权。申请一个软件发明专利的代理费大概需要5000-8000申请发明专利可
- Android学习笔记
darrenzhu
android
1.启动一个AVD
2.命令行运行adb shell可连接到AVD,这也就是命令行客户端
3.如何启动一个程序
am start -n package name/.activityName
am start -n com.example.helloworld/.MainActivity
启动Android设置工具的命令如下所示:
# am start -
- apache虚拟机配置,本地多域名访问本地网站
dcj3sjt126com
apache
现在假定你有两个目录,一个存在于 /htdocs/a,另一个存在于 /htdocs/b 。
现在你想要在本地测试的时候访问 www.freeman.com 对应的目录是 /xampp/htdocs/freeman ,访问 www.duchengjiu.com 对应的目录是 /htdocs/duchengjiu。
1、首先修改C盘WINDOWS\system32\drivers\etc目录下的
- yii2 restful web服务[速率限制]
dcj3sjt126com
PHPyii2
速率限制
为防止滥用,你应该考虑增加速率限制到您的API。 例如,您可以限制每个用户的API的使用是在10分钟内最多100次的API调用。 如果一个用户同一个时间段内太多的请求被接收, 将返回响应状态代码 429 (这意味着过多的请求)。
要启用速率限制, [[yii\web\User::identityClass|user identity class]] 应该实现 [[yii\filter
- Hadoop2.5.2安装——单机模式
eksliang
hadoophadoop单机部署
转载请出自出处:http://eksliang.iteye.com/blog/2185414 一、概述
Hadoop有三种模式 单机模式、伪分布模式和完全分布模式,这里先简单介绍单机模式 ,默认情况下,Hadoop被配置成一个非分布式模式,独立运行JAVA进程,适合开始做调试工作。
二、下载地址
Hadoop 网址http:
- LoadMoreListView+SwipeRefreshLayout(分页下拉)基本结构
gundumw100
android
一切为了快速迭代
import java.util.ArrayList;
import org.json.JSONObject;
import android.animation.ObjectAnimator;
import android.os.Bundle;
import android.support.v4.widget.SwipeRefreshLayo
- 三道简单的前端HTML/CSS题目
ini
htmlWeb前端css题目
使用CSS为多个网页进行相同风格的布局和外观设置时,为了方便对这些网页进行修改,最好使用( )。http://hovertree.com/shortanswer/bjae/7bd72acca3206862.htm
在HTML中加入<table style=”color:red; font-size:10pt”>,此为( )。http://hovertree.com/s
- overrided方法编译错误
kane_xie
override
问题描述:
在实现类中的某一或某几个Override方法发生编译错误如下:
Name clash: The method put(String) of type XXXServiceImpl has the same erasure as put(String) of type XXXService but does not override it
当去掉@Over
- Java中使用代理IP获取网址内容(防IP被封,做数据爬虫)
mcj8089
免费代理IP代理IP数据爬虫JAVA设置代理IP爬虫封IP
推荐两个代理IP网站:
1. 全网代理IP:http://proxy.goubanjia.com/
2. 敲代码免费IP:http://ip.qiaodm.com/
Java语言有两种方式使用代理IP访问网址并获取内容,
方式一,设置System系统属性
// 设置代理IP
System.getProper
- Nodejs Express 报错之 listen EADDRINUSE
qiaolevip
每天进步一点点学习永无止境nodejs纵观千象
当你启动 nodejs服务报错:
>node app
Express server listening on port 80
events.js:85
throw er; // Unhandled 'error' event
^
Error: listen EADDRINUSE
at exports._errnoException (
- C++中三种new的用法
_荆棘鸟_
C++new
转载自:http://news.ccidnet.com/art/32855/20100713/2114025_1.html
作者: mt
其一是new operator,也叫new表达式;其二是operator new,也叫new操作符。这两个英文名称起的也太绝了,很容易搞混,那就记中文名称吧。new表达式比较常见,也最常用,例如:
string* ps = new string("
- Ruby深入研究笔记1
wudixiaotie
Ruby
module是可以定义private方法的
module MTest
def aaa
puts "aaa"
private_method
end
private
def private_method
puts "this is private_method"
end
end