我们有一个针对iOS 8.4的应用.在使用SDK 9.3构建的iOS 8-10上运行良好.但是,在iOS 8(设备和模拟器)上运行的SDK 10.0创建的构建会不断崩溃.例如:
malloc: *** error for object 0x79e80c60: incorrect checksum for freed object - object was probably modified after being freed.
*** set a breakpoint in malloc_error_break to debug
这在iOS 8.4上不会发生.
我们创建了一个针对8.4和SDK 10.0的新项目,并且只向项目添加了一个故障单元测试.在8.4 Simulator中运行这个项目似乎是不可能的.测试将永远不会执行,模拟器似乎处于某种循环中.
有人能用iOS 8和SDK 10重现这个问题吗?
*** 由于未捕获的异常“CALayerInvalidGeometry”而终止应用程序,原因:“CALayer position contains NaN: [nan 81]” // 81 是运行时更改。
*** 首先抛出调用堆栈:
(
0 CoreFoundation 0x000000011041a34b __exceptionPreprocess + 171
1 libobjc.A.dylib 0x000000010f84021e objc_exception_throw + 48
2 CoreFoundation 0x0000000110483265 +[NSException raise:format:] + 197
3 QuartzCore 0x000000010c4842f2 _ZN2CA5Layer12set_positionERKNS_4Vec2IdEEb + 152
4 QuartzCore 0x000000010c484467 -[CALayer setPosition:] + 44
5 UIKit 0x000000010c7e18d2 -[UIView setCenter:] + 233
6 Hi2Buy 0x000000010bf517e1 -[RangeSlider layoutSubviews] + 193
7 UIKit 0x000000010c807344 -[UIView(CALayerDelegate) layoutSublayersOfLayer:] + 1237
8 QuartzCore 0x000000010c48dcdc -[CALayer layoutSublayers] + 146
9 QuartzCore 0x000000010c4817a0 _ZN2CA5Layer16layout_if_neededEPNS_11TransactionE + 366
10 …
Run Code Online (Sandbox Code Playgroud) 我有一个NSMutableArray,其中包含字符串格式的日期.在这里,我需要按日期的升序排序该数组.我用了强文
NSSortDescriptor *descriptor=[[NSSortDescriptor alloc] initWithKey:@"self" ascending:YES];
NSArray *descriptors=[NSArray arrayWithObject: descriptor];
NSArray *reverseOrder=[dateArray sortedArrayUsingDescriptors:descriptors];
Run Code Online (Sandbox Code Playgroud)
但它只按日期和月份的升序排序日期.年份不予考虑.请帮我.例如,Array包含
03/09/2017, 03/06/2016, 01/06/2016,01/04/2016 and 03/01/2017.
Run Code Online (Sandbox Code Playgroud)
使用上面的代码行后,Array包含like,
01/04/2018, 01/06/2016, 03/01/2017, 03/06/2016, 03/09/2016
Run Code Online (Sandbox Code Playgroud) 所以,我正在尝试将我的toDo列表应用程序更新为swift 3/iOS 10,但是在更新时我遇到了这个错误.我查了一下互联网和StackOverflow,发现其他人也有这个问题,但那里的解决方案对我没有帮助.这只是一个文件,负责插入Core Data.
这是该文件的代码:
import UIKit
import CoreData
var taskMgr: TaskManager = TaskManager()
struct task {
var name = "not defined"
var desc = "not defined"
}
class TaskManager: NSObject {
var tasks = [task]()
var persistenceHelper: PersistenceHelper = PersistenceHelper()
override init(){
let tempTasks:NSArray = persistenceHelper.list(entity: "Task")
for res:AnyObject in tempTasks{
tasks.append(task(name:res.valueForKey("name")as! String,desc:res.valueForKey("desc") as! String))
}
}
func addTask(name:String, desc: String){
var dicTask: Dictionary<String, String> = Dictionary<String,String>()
dicTask["name"] = name
dicTask["desc"] = desc
if(persistenceHelper.save(entity: "Task", parameters: dicTask)){
tasks.append(task(name: name, …
Run Code Online (Sandbox Code Playgroud)