Assertionsfehler
Frage
Ich entwickle eine iPad-Anwendung mit SDK4.2. Ich habe einen sehr seltsamen Fehler, wenn jede Textfield in meiner Anwendung zu berühren. Das erste Mal, dass ich berührt, wird die Tastatur angezeigt, aber wenn eine zweite Berührung in dem Objekt erfolgt ich erhalte folgende Spur. Und es kommt auch in jedem TextField- in einer HTML-Seite mit einem UIWebView Objekt gezeigt. Irgendwelche Ideen? Ich bin wirklich mit diesem .. Vielen Dank im Voraus zu verwechseln!
2010-12-17 11:53:11.697 BancoPopular[48914:207] *** Assertion failure in -[UIButtonLabel setTextColor:], /SourceCache/UIKit_Sim/UIKit-1447.6.4/UILabel.m:314
2010-12-17 11:53:11.699 BancoPopular[48914:207] *** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'Invalid parameter not satisfying: color'
*** Call stack at first throw:
(
0 CoreFoundation 0x01730be9 __exceptionPreprocess + 185
1 libobjc.A.dylib 0x018855c2 objc_exception_throw + 47
2 CoreFoundation 0x016e9628 +[NSException raise:format:arguments:] + 136
3 Foundation 0x0013947b -[NSAssertionHandler handleFailureInMethod:object:file:lineNumber:description:] + 116
4 UIKit 0x0045d1dc -[UILabel setTextColor:] + 164
5 UIKit 0x0052177b -[UIButton layoutSubviews] + 1337
6 UIKit 0x005f3420 -[UICalloutBarButton layoutSubviews] + 54
7 QuartzCore 0x011a4451 -[CALayer layoutSublayers] + 181
8 QuartzCore 0x011a417c CALayerLayoutIfNeeded + 220
9 QuartzCore 0x011a4088 -[CALayer layoutIfNeeded] + 111
10 UIKit 0x0051f2ff -[UIButton titleLabel] + 81
11 UIKit 0x005f81d1 -[UICalloutBarButton setContentScale:] + 141
12 UIKit 0x005f6c5d -[UICalloutBar _updateVisibleItems] + 2240
13 UIKit 0x005f2970 -[UICalloutBar appear] + 211
14 UIKit 0x005eaaa9 -[UITextSelectionView showCommandsWithReplacements:] + 291
15 Foundation 0x000bd7f6 __NSFireDelayedPerform + 441
16 CoreFoundation 0x01711fe3 __CFRUNLOOP_IS_CALLING_OUT_TO_A_TIMER_CALLBACK_FUNCTION__ + 19
17 CoreFoundation 0x01713594 __CFRunLoopDoTimer + 1220
18 CoreFoundation 0x0166fcc9 __CFRunLoopRun + 1817
19 CoreFoundation 0x0166f240 CFRunLoopRunSpecific + 208
20 CoreFoundation 0x0166f161 CFRunLoopRunInMode + 97
21 GraphicsServices 0x01e25268 GSEventRunModal + 217
22 GraphicsServices 0x01e2532d GSEventRun + 115
23 UIKit 0x0034d42e UIApplicationMain + 1160
24 BancoPopular 0x0000292e main + 84
25 BancoPopular 0x000028d1 start + 53
26 ??? 0x00000001 0x0 + 1
)
terminate called after throwing an instance of 'NSException'
Lösung
Schauen Sie genau hin, welche Ausnahme dabei war. Er sagte, „Grund:‚ungültige Parameter nicht erfüllt: Farbe‘“, irgendwo im Code, bieten Sie falsche Parameter, die angeblich gültige Farben. Offensichtlich scheint es, wie Sie UIButton mit dem Label verwenden und seine Farbe gesetzt, aber nicht gültig.
Andere Tipps
Meine Vermutung ist, dass Sie einen Gegenstand weg irgendwo haben, und das Objekt enthält die „Farbe“ Wert.
Wahrscheinlich haben Sie einen Autoreleased Wert von einem Anruf und haben es nicht behalten, so dass es „puff“ ging, als die UI für Luft kam.