本文的目的是介绍iphone–如何在NSArray中找到NSNumbers的中值?的详细情况,特别关注iosnsarraynsset的相关信息。我们将通过专业的研究、有关数据的分析等多种方式,为您呈现
本文的目的是介绍iphone – 如何在NSArray中找到NSNumbers的中值?的详细情况,特别关注ios nsarray nsset的相关信息。我们将通过专业的研究、有关数据的分析等多种方式,为您呈现一个全面的了解iphone – 如何在NSArray中找到NSNumbers的中值?的机会,同时也不会遗漏关于Caused by: org.xml.sax.SAXParseException; lineNumber: 11; columnNumber: 116; cvc-elt.1: 找不到元素 ''beans'' 的声明。、Caused by: org.xml.sax.SAXParseException; lineNumber: 3; columnNumber: 44; 值为 "none" 的属性 "parallel"、ios iphone开发 int,NSInteger,NSUInteger,NSNumber、ios – 如何在NSManagedObjects的集合(NSArray或NSSet)上设置KVO的知识。
本文目录一览:- iphone – 如何在NSArray中找到NSNumbers的中值?(ios nsarray nsset)
- Caused by: org.xml.sax.SAXParseException; lineNumber: 11; columnNumber: 116; cvc-elt.1: 找不到元素 ''beans'' 的声明。
- Caused by: org.xml.sax.SAXParseException; lineNumber: 3; columnNumber: 44; 值为 "none" 的属性 "parallel"
- ios iphone开发 int,NSInteger,NSUInteger,NSNumber
- ios – 如何在NSManagedObjects的集合(NSArray或NSSet)上设置KVO
iphone – 如何在NSArray中找到NSNumbers的中值?(ios nsarray nsset)
这是我正在尝试,但它不工作:
NSNumber *median = [smallNSArray valueForKeyPath:@"@median.floatValue"];
解决方法
NSArray *sorted = [smallNSArray sortedArrayUsingSelector:@selector(compare:)]; // Sort the array by value NSUInteger middle = [sorted count] / 2; // Find the index of the middle element NSNumber *median = [sorted objectAtIndex:middle]; // Get the middle element
你可以得到鸽友.例如,具有偶数数字的集合的中值在技术上是中间两个数字的平均值.您也可以将其包装成NSArray中类别中的整齐的单行方法:
@interface NSArray (Statistics) - (id)median; @end @implementation NSArray (Statistics) - (id)median { return [[self sortedArrayUsingSelector:@selector(compare:)] objectAtIndex:[self count] / 2]; } @end
Caused by: org.xml.sax.SAXParseException; lineNumber: 11; columnNumber: 116; cvc-elt.1: 找不到元素 ''beans'' 的声明。
从公司拷贝到家准备加班坐下项目,前几天发了动弹抱怨了下,至今问题还是没有解决,项目在公司电脑上运行无误,但在我自己的电脑上一直报错Caused by: org.xml.sax.SAXParseException; lineNumber: 11; columnNumber: 116; cvc-elt.1: 找不到元素 ''beans'' 的声明。
1、问了下同事,同事说是jdk版本和tomcat不对应,但是我在我自己电脑上已经对jdk和tomcat核对好多次,都是64位的,个人感觉肯定不是jdk和tomcat版本的问题,同事提供的解决办法是修改这个,但是我修改了项目报一样的错误、
2、自己手动查找了下,网上说的解决方案都已尝试,至今问题都没有解决,在配置文件中对一个个XSD都点击尝试了下,看看网络上能不能打开,除了util 别的都是配置的本地的,个人也尝试全部配置成网络获取和本地获取,项目依然报上面的错。
a、使用jar包里的XSD文件,项目全部替换,报一样的错。
b、使用spring的网络XSD,报一样的错
c、部分使用jar包,部分使用网络,报一样的错误,Caused by: org.xml.sax.SAXParseException; lineNumber: 11; columnNumber: 116; cvc-elt.1: 找不到元素 ''beans'' 的声明。报错对应的行对应的是Util这一行,在全部换成网络获取Xsd时,http://www.springframework.org/schema/util 这个网址可以在eclipse中打开但是http://www.springframework.org/schema/util/spring-util.xsd 这个在eclipse内置浏览器不能打开,换成全部换成jar包下面的XSD,运行项目依然报错。
3、网上有的说是文件编码问题,尝试了下通过notpad++和UltraEdit 进行编码格式的转换,转换成UTF—8项目依然有问题。
4、项目在公司电脑是可以运行,但在家的电脑上不可以,会不会是因为公司网络和家庭网络的原因,感觉肯定不是,调试运行项目,eclipse提示就是在加载时报的错误(明天试试在公司运行下项目,在重新拷贝一份源码,实在不行只能在公司加班了。。。家里项目不能运行),所以问题到底出在哪里,求大家帮忙本人不胜感激,下面是xml源码。
Caused by: org.xml.sax.SAXParseException; lineNumber: 3; columnNumber: 44; 值为 "none" 的属性 "parallel"
Caused by: org.xml.sax.SAXParseException; lineNumber: 3; columnNumber: 44; 值为 "none" 的属性 "parallel" 必须具有列表 "false methods tests classes instances " 中的值。
idea用testNg与spring做测试的时候报错,如下所示:
org.testng.TestNGException: org.xml.sax.SAXParseException; lineNumber: 3; columnNumber: 44; 值为 "none" 的属性 "parallel" 必须具有列表 "false methods tests classes instances " 中的值。 at org.testng.TestNG.initializeSuitesAndJarFile(TestNG.java:325) at org.testng.remote.RemoteTestNG.run(RemoteTestNG.java:90) at org.testng.remote.RemoteTestNG.initAndRun(RemoteTestNG.java:206) at org.testng.remote.RemoteTestNG.main(RemoteTestNG.java:177) at org.testng.RemoteTestNGStarter.main(RemoteTestNGStarter.java:125) Caused by: org.xml.sax.SAXParseException; lineNumber: 3; columnNumber: 44; 值为 "none" 的属性 "parallel" 必须具有列表 "false methods tests classes instances " 中的值。 at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(ErrorHandlerWrapper.java:198) at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.error(ErrorHandlerWrapper.java:134) at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:437) at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:368) at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:325) at com.sun.org.apache.xerces.internal.impl.dtd.XMLDTDValidator.validateDTDattribute(XMLDTDValidator.java:1392) at com.sun.org.apache.xerces.internal.impl.dtd.XMLDTDValidator.addDTDDefaultAttrsAndValidate(XMLDTDValidator.java:1311) at com.sun.org.apache.xerces.internal.impl.dtd.XMLDTDValidator.handleStartElement(XMLDTDValidator.java:1917) at com.sun.org.apache.xerces.internal.impl.dtd.XMLDTDValidator.startElement(XMLDTDValidator.java:742) at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.scanStartElement(XMLNSDocumentScannerImpl.java:379) at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl$NSContentDriver.scanRootElementHook(XMLNSDocumentScannerImpl.java:605) at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:3138) at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$PrologDriver.next(XMLDocumentScannerImpl.java:880) at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:606) at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(XMLNSDocumentScannerImpl.java:117) at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:510) at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:848) at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:777) at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:141) at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1213) at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:648) at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl.parse(SAXParserImpl.java:332) at javax.xml.parsers.SAXParser.parse(SAXParser.java:195) at org.testng.xml.XMLParser.parse(XMLParser.java:39) at org.testng.xml.SuiteXmlParser.parse(SuiteXmlParser.java:16) at org.testng.xml.SuiteXmlParser.parse(SuiteXmlParser.java:9) at org.testng.xml.Parser.parse(Parser.java:172) at org.testng.TestNG.initializeSuitesAndJarFile(TestNG.java:305) ... 4 more
原因为6.9.10版本的testng,开始验证xml中的元素;而idea默认的testng.xml模板中parallel设置为none,因此报错。
所以解决方法:
1. testng 使用6.9.9
或者
2. testng使用6.9.10, 在testng.xml中parallel设置为false
ios iphone开发 int,NSInteger,NSUInteger,NSNumber
1.当需要使用int类型的变量的时候,可以像写C的程序一样,用int,也可以用NSInteger,但更推荐使用NSInteger,因为这样就不用考虑设备是32位的还是64位的。
2.NSUInteger是无符号的,即没有负数,NSInteger是有符号的。
3.有人说既然都有了NSInteger等这些基础类型了为什么还要有NSNumber?它们的功能当然是不同的。
[array addobject:3];//会编译错误 |
[array addobject:[NSNumber numberWithInt:3]]; |
Cocoa提供了NSNumber类来包装(即以对象形式实现)基本数据类型。
例如以下创建方法:
) numberWithInt: ( int ) numberWithFloat: ( float ) numberWithBool: (BOOL) value;
将基本类型数据封装到NSNumber中后,就可以通过下面的实例方法重新获取它:
) intValue;
) floatValue;
(BOOL) boolValue;
(Nsstring ) stringValue;
原文:http://blog.sina.com.cn/s/blog_83940dfb0100y1pl.html
ios – 如何在NSManagedObjects的集合(NSArray或NSSet)上设置KVO
我有一个辅助模型对象(self.locations),它是一个Location对象数组,它是NSManagedobjects的子类.此数组驱动UISegmentedControl的内容,该内容过滤我的主fetchedResultsContoller.
可以通过弹出窗口修改self.locations的内容.我想设置一些观察,以便我的主UITableViewController可以监视存储在self.locations中的对象的更改,并在必要时重新加载UISegmentedControl.
这也可能导致重新加载表中的主数据,所以我要小心不要在每次修改时重新加载.
我想我理解如何在单个NSManagedobject上设置KVO,但我不确定如何在数组中包含的对象上进行操作.我知道我可以使用另一个NSFetchedResultsController,但是我的self.locations对象没有驱动第二个UITableView,所以我不确定它是否有意义.
解决方法
[self addobserver:self forKeyPath:@"locations" options:0 context:NULL];
然后实现以下内容以接收通知(部分从Apple文档复制):
- (void)observeValueForKeyPath:(Nsstring *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context { if ([keyPath isEqual:@"locations"]) { // Your custom code here. } // Be sure to call the superclass's implementation *if it implements it*. [super observeValueForKeyPath:keyPath ofObject:object change:change context:context]; }
不要忘记在某些时候停止观察:
[self removeObserver:self forKeyPath:@"locations"];
而且,虽然你没有问,如果你想知道关系中包含的任何对象是否已经改变(而不仅仅是你在这里看到的NSSet),那么你必须观察各个对象.
编辑
根据您的评论,您确实希望观察单个对象.这对于“普通”对象来说相当简单,但是托管对象需要更多工作,因为您必须观察对象中的各个键,这看起来像这样:
- (void)observeManagedobject:(NSManagedobject *)myObject { NSArray *myObjectKeys = [[[myObject entity] attributesByName] allKeys]; for (Nsstring *key in myObjectKeys) { [myObject addobserver:self forKeyPath:key options:0 context:nil]; } }
然后你观察数组中的所有NSManagedobjects,如下所示:
for (NSManagedobject *object in myArray) { [self observeManagedobject:object]; }
反过来停止观察托管对象上的键!
关于iphone – 如何在NSArray中找到NSNumbers的中值?和ios nsarray nsset的问题我们已经讲解完毕,感谢您的阅读,如果还想了解更多关于Caused by: org.xml.sax.SAXParseException; lineNumber: 11; columnNumber: 116; cvc-elt.1: 找不到元素 ''beans'' 的声明。、Caused by: org.xml.sax.SAXParseException; lineNumber: 3; columnNumber: 44; 值为 "none" 的属性 "parallel"、ios iphone开发 int,NSInteger,NSUInteger,NSNumber、ios – 如何在NSManagedObjects的集合(NSArray或NSSet)上设置KVO等相关内容,可以在本站寻找。
本文标签: