- 【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
- 怎么样才能成为专业的程序员?
cocos2d-x小菜
编程PHP
如何要想成为一名专业的程序员?仅仅会写代码是不够的。从团队合作去解决问题到版本控制,你还得具备其他关键技能的工具包。当我们询问相关的专业开发人员,那些必备的关键技能都是什么的时候,下面是我们了解到的情况。
关于如何学习代码,各种声音很多,然后很多人就被误导为成为专业开发人员懂得一门编程语言就够了?!呵呵,就像其他工作一样,光会一个技能那是远远不够的。如果你想要成为
- java web开发 高并发处理
BreakingBad
javaWeb并发开发处理高
java处理高并发高负载类网站中数据库的设计方法(java教程,java处理大量数据,java高负载数据) 一:高并发高负载类网站关注点之数据库 没错,首先是数据库,这是大多数应用所面临的首个SPOF。尤其是Web2.0的应用,数据库的响应是首先要解决的。 一般来说MySQL是最常用的,可能最初是一个mysql主机,当数据增加到100万以上,那么,MySQL的效能急剧下降。常用的优化措施是M-S(
- mysql批量更新
ekian
mysql
mysql更新优化:
一版的更新的话都是采用update set的方式,但是如果需要批量更新的话,只能for循环的执行更新。或者采用executeBatch的方式,执行更新。无论哪种方式,性能都不见得多好。
三千多条的更新,需要3分多钟。
查询了批量更新的优化,有说replace into的方式,即:
replace into tableName(id,status) values
- 微软BI(3)
18289753290
微软BI SSIS
1)
Q:该列违反了完整性约束错误;已获得 OLE DB 记录。源:“Microsoft SQL Server Native Client 11.0” Hresult: 0x80004005 说明:“不能将值 NULL 插入列 'FZCHID',表 'JRB_EnterpriseCredit.dbo.QYFZCH';列不允许有 Null 值。INSERT 失败。”。
A:一般这类问题的存在是
- Java中的List
g21121
java
List是一个有序的 collection(也称为序列)。此接口的用户可以对列表中每个元素的插入位置进行精确地控制。用户可以根据元素的整数索引(在列表中的位置)访问元素,并搜索列表中的元素。
与 set 不同,列表通常允许重复
- 读书笔记
永夜-极光
读书笔记
1. K是一家加工厂,需要采购原材料,有A,B,C,D 4家供应商,其中A给出的价格最低,性价比最高,那么假如你是这家企业的采购经理,你会如何决策?
传统决策: A:100%订单 B,C,D:0%
&nbs
- centos 安装 Codeblocks
随便小屋
codeblocks
1.安装gcc,需要c和c++两部分,默认安装下,CentOS不安装编译器的,在终端输入以下命令即可yum install gccyum install gcc-c++
2.安装gtk2-devel,因为默认已经安装了正式产品需要的支持库,但是没有安装开发所需要的文档.yum install gtk2*
3. 安装wxGTK
yum search w
- 23种设计模式的形象比喻
aijuans
设计模式
1、ABSTRACT FACTORY—追MM少不了请吃饭了,麦当劳的鸡翅和肯德基的鸡翅都是MM爱吃的东西,虽然口味有所不同,但不管你带MM去麦当劳或肯德基,只管向服务员说“来四个鸡翅”就行了。麦当劳和肯德基就是生产鸡翅的Factory 工厂模式:客户类和工厂类分开。消费者任何时候需要某种产品,只需向工厂请求即可。消费者无须修改就可以接纳新产品。缺点是当产品修改时,工厂类也要做相应的修改。如:
- 开发管理 CheckLists
aoyouzi
开发管理 CheckLists
开发管理 CheckLists(23) -使项目组度过完整的生命周期
开发管理 CheckLists(22) -组织项目资源
开发管理 CheckLists(21) -控制项目的范围开发管理 CheckLists(20) -项目利益相关者责任开发管理 CheckLists(19) -选择合适的团队成员开发管理 CheckLists(18) -敏捷开发 Scrum Master 工作开发管理 C
- js实现切换
百合不是茶
JavaScript栏目切换
js主要功能之一就是实现页面的特效,窗体的切换可以减少页面的大小,被门户网站大量应用思路:
1,先将要显示的设置为display:bisible 否则设为none
2,设置栏目的id ,js获取栏目的id,如果id为Null就设置为显示
3,判断js获取的id名字;再设置是否显示
代码实现:
html代码:
<di
- 周鸿祎在360新员工入职培训上的讲话
bijian1013
感悟项目管理人生职场
这篇文章也是最近偶尔看到的,考虑到原博客发布者可能将其删除等原因,也更方便个人查找,特将原文拷贝再发布的。“学东西是为自己的,不要整天以混的姿态来跟公司博弈,就算是混,我觉得你要是能在混的时间里,收获一些别的有利于人生发展的东西,也是不错的,看你怎么把握了”,看了之后,对这句话记忆犹新。 &
- 前端Web开发的页面效果
Bill_chen
htmlWebMicrosoft
1.IE6下png图片的透明显示:
<img src="图片地址" border="0" style="Filter.Alpha(Opacity)=数值(100),style=数值(3)"/>
或在<head></head>间加一段JS代码让透明png图片正常显示。
2.<li>标
- 【JVM五】老年代垃圾回收:并发标记清理GC(CMS GC)
bit1129
垃圾回收
CMS概述
并发标记清理垃圾回收(Concurrent Mark and Sweep GC)算法的主要目标是在GC过程中,减少暂停用户线程的次数以及在不得不暂停用户线程的请夸功能,尽可能短的暂停用户线程的时间。这对于交互式应用,比如web应用来说,是非常重要的。
CMS垃圾回收针对新生代和老年代采用不同的策略。相比同吞吐量垃圾回收,它要复杂的多。吞吐量垃圾回收在执
- Struts2技术总结
白糖_
struts2
必备jar文件
早在struts2.0.*的时候,struts2的必备jar包需要如下几个:
commons-logging-*.jar Apache旗下commons项目的log日志包
freemarker-*.jar  
- Jquery easyui layout应用注意事项
bozch
jquery浏览器easyuilayout
在jquery easyui中提供了easyui-layout布局,他的布局比较局限,类似java中GUI的border布局。下面对其使用注意事项作简要介绍:
如果在现有的工程中前台界面均应用了jquery easyui,那么在布局的时候最好应用jquery eaysui的layout布局,否则在表单页面(编辑、查看、添加等等)在不同的浏览器会出
- java-拷贝特殊链表:有一个特殊的链表,其中每个节点不但有指向下一个节点的指针pNext,还有一个指向链表中任意节点的指针pRand,如何拷贝这个特殊链表?
bylijinnan
java
public class CopySpecialLinkedList {
/**
* 题目:有一个特殊的链表,其中每个节点不但有指向下一个节点的指针pNext,还有一个指向链表中任意节点的指针pRand,如何拷贝这个特殊链表?
拷贝pNext指针非常容易,所以题目的难点是如何拷贝pRand指针。
假设原来链表为A1 -> A2 ->... -> An,新拷贝
- color
Chen.H
JavaScripthtmlcss
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <HTML> <HEAD>&nbs
- [信息与战争]移动通讯与网络
comsci
网络
两个坚持:手机的电池必须可以取下来
光纤不能够入户,只能够到楼宇
建议大家找这本书看看:<&
- oracle flashback query(闪回查询)
daizj
oracleflashback queryflashback table
在Oracle 10g中,Flash back家族分为以下成员:
Flashback Database
Flashback Drop
Flashback Table
Flashback Query(分Flashback Query,Flashback Version Query,Flashback Transaction Query)
下面介绍一下Flashback Drop 和Flas
- zeus持久层DAO单元测试
deng520159
单元测试
zeus代码测试正紧张进行中,但由于工作比较忙,但速度比较慢.现在已经完成读写分离单元测试了,现在把几种情况单元测试的例子发出来,希望有人能进出意见,让它走下去.
本文是zeus的dao单元测试:
1.单元测试直接上代码
package com.dengliang.zeus.webdemo.test;
import org.junit.Test;
import o
- C语言学习三printf函数和scanf函数学习
dcj3sjt126com
cprintfscanflanguage
printf函数
/*
2013年3月10日20:42:32
地点:北京潘家园
功能:
目的:
测试%x %X %#x %#X的用法
*/
# include <stdio.h>
int main(void)
{
printf("哈哈!\n"); // \n表示换行
int i = 10;
printf
- 那你为什么小时候不好好读书?
dcj3sjt126com
life
dady, 我今天捡到了十块钱, 不过我还给那个人了
good girl! 那个人有没有和你讲thank you啊
没有啦....他拉我的耳朵我才把钱还给他的, 他哪里会和我讲thank you
爸爸, 如果地上有一张5块一张10块你拿哪一张呢....
当然是拿十块的咯...
爸爸你很笨的, 你不会两张都拿
爸爸为什么上个月那个人来跟你讨钱, 你告诉他没
- iptables开放端口
Fanyucai
linuxiptables端口
1,找到配置文件
vi /etc/sysconfig/iptables
2,添加端口开放,增加一行,开放18081端口
-A INPUT -m state --state NEW -m tcp -p tcp --dport 18081 -j ACCEPT
3,保存
ESC
:wq!
4,重启服务
service iptables
- Ehcache(05)——缓存的查询
234390216
排序ehcache统计query
缓存的查询
目录
1. 使Cache可查询
1.1 基于Xml配置
1.2 基于代码的配置
2 指定可搜索的属性
2.1 可查询属性类型
2.2 &
- 通过hashset找到数组中重复的元素
jackyrong
hashset
如何在hashset中快速找到重复的元素呢?方法很多,下面是其中一个办法:
int[] array = {1,1,2,3,4,5,6,7,8,8};
Set<Integer> set = new HashSet<Integer>();
for(int i = 0
- 使用ajax和window.history.pushState无刷新改变页面内容和地址栏URL
lanrikey
history
后退时关闭当前页面
<script type="text/javascript">
jQuery(document).ready(function ($) {
if (window.history && window.history.pushState) {
- 应用程序的通信成本
netkiller.github.com
虚拟机应用服务器陈景峰netkillerneo
应用程序的通信成本
什么是通信
一个程序中两个以上功能相互传递信号或数据叫做通信。
什么是成本
这是是指时间成本与空间成本。 时间就是传递数据所花费的时间。空间是指传递过程耗费容量大小。
都有哪些通信方式
全局变量
线程间通信
共享内存
共享文件
管道
Socket
硬件(串口,USB) 等等
全局变量
全局变量是成本最低通信方法,通过设置
- 一维数组与二维数组的声明与定义
恋洁e生
二维数组一维数组定义声明初始化
/** * */ package test20111005; /** * @author FlyingFire * @date:2011-11-18 上午04:33:36 * @author :代码整理 * @introduce :一维数组与二维数组的初始化 *summary: */ public c
- Spring Mybatis独立事务配置
toknowme
mybatis
在项目中有很多地方会使用到独立事务,下面以获取主键为例
(1)修改配置文件spring-mybatis.xml <!-- 开启事务支持 --> <tx:annotation-driven transaction-manager="transactionManager" /> &n
- 更新Anadroid SDK Tooks之后,Eclipse提示No update were found
xp9802
eclipse
使用Android SDK Manager 更新了Anadroid SDK Tooks 之后,
打开eclipse提示 This Android SDK requires Android Developer Toolkit version 23.0.0 or above, 点击Check for Updates
检测一会后提示 No update were found