【问题标题】:App crashes because of string manipulation应用程序因字符串操作而崩溃
【发布时间】:2011-03-14 11:50:43
【问题描述】:

我正在尝试使用以下代码检查 NSDataDictionary 的内容:

NSDictionary *dataDictionary = [data objectAtIndex:num];
NSString *loaddata = [dataDictionary valueForKey:@"data"];

if ([loaddata hasSuffix: @".mp3"]) {
//code          
}

应用程序每次都崩溃,我不知道为什么......

这是错误堆栈:

#0  0x0137d930 in search_method_list
#1  0x01380a99 in _class_getMethodNoSuper_nolock
#2  0x013796ee in lookUpMethod
#3  0x0137981a in _class_lookupMethodAndLoadCache
#4  0x01387aa3 in objc_msgSend
#5  0x003417fa in -[UITableView(UITableViewInternal) _createPreparedCellForGlobalRow:withIndexPath:]
#6  0x0033777f in -[UITableView(UITableViewInternal) _createPreparedCellForGlobalRow:]
#7  0x0034c450 in -[UITableView(_UITableViewPrivate) _updateVisibleCellsNow:]
#8  0x00344538 in -[UITableView layoutSubviews]
#9  0x00e19451 in -[CALayer layoutSublayers]
#10 0x00e1917c in CALayerLayoutIfNeeded
#11 0x00e1237c in CA::Context::commit_transaction
#12 0x00e120d0 in CA::Transaction::commit
#13 0x00e427d5 in CA::Transaction::observer_callback
#14 0x01206fbb in __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__
#15 0x0119c0e7 in __CFRunLoopDoObservers
#16 0x01164bd7 in __CFRunLoopRun
#17 0x01164240 in CFRunLoopRunSpecific
#18 0x01164161 in CFRunLoopRunInMode
#19 0x01b5a268 in GSEventRunModal
#20 0x01b5a32d in GSEventRun
#21 0x002dc42e in UIApplicationMain
#22 0x000021e4 in main at main.m:14

【问题讨论】:

  • 这次崩溃发生在其他地方。
  • 如果您想得到回复,请接受一些答案
  • 也许你的意思是[dataDictionary objectForKey:@"data"]

标签: iphone nsstring


【解决方案1】:

堆栈似乎表明 Objective-C 运行时找不到选择器。我的猜测是您的第二行代码将 loaddata 设置为 NSString 以外的其他内容。

【讨论】:

  • 我第一次构建并运行它时,它运行良好。然后如果我重新运行它会崩溃。每次我修改整个应用程序的任何部分然后运行它,它第一次运行正常。这没有意义,应用程序如何只能在第一次运行良好...?
  • 你的程序中有什么东西改变了'num'或'data'的值吗?
  • num的值确实变了。
  • 所以第一次,num 索引数据中的一个对象,它是一个 NSString。下一次通过 num 索引数据中不是 NSString 的对象。
  • 我解决了这个问题。我正在释放我在可变数组数据中分配的字符串。谢谢
猜你喜欢
  • 2014-05-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-14
  • 2019-12-26
  • 2012-05-28
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多