Objective-C, 346 바이트
-(void)printTernaryOfInt:(int)ternary{NSMutableString *outString=@"".mutableCopy; for (int i=1;i<=ternary;i++) {[outString appendString:[NSString stringWithFormat:@" ? %i",i]];}[outString deleteCharactersInRange:NSMakeRange(0, 2)];for (int i=1;i<ternary;i++) {[outString appendString:[NSString stringWithFormat:@" : 0"]];}NSLog(@"%@",outString);}
에서 퍼팅 0
위해 int
또는 아무것도의 부정적인 것은 제기 NSRangeException
로 인한 outString
포함 nil
. 이것은 iOS 2.0 이상 및 많은 최신 버전의 Mac OS X에서 실행되어야합니다.
코드 분석 :
-(void)printTernaryOfInt:(int)ternary{ ... }
Objective-C의 표준 함수 선언
NSMutableString *outString=@"".mutableCopy;
출력 할 문자열을 만듭니다. outString
만들고 변경 가능하게 만듭니다. (즉, 읽고 쓸 수 있습니다.
for (int i=1;i<=ternary;i++) {[outString appendString:[NSString stringWithFormat:@" ? %i",i]];}
출력 할 문자열의 첫 부분을 추가합니다.
[outString deleteCharactersInRange:NSMakeRange(0, 2)];
문자열의 시작 부분을 정리하여 ? 1
로 교체 하십시오 1
. 참고 : 0
주어진 경우 NSRangeException
인덱스가 없기 때문에 이것이 발생하는 곳 1
입니다.
for (int i=1;i<ternary;i++) {[outString appendString:[NSString stringWithFormat:@" : 0"]];}
문자열의 두 번째 부분을 문자열에 추가합니다.
NSLog(@"%@",outString);}
다음을 사용하여 끈을 다시 뱉습니다. NSLog
기능을 닫습니다.
산출:
입력 0
하면이 충돌 로그가 나타납니다.
2015-07-11 05:15:28.036 Example App[41665:2134488] *** Terminating app due to uncaught exception 'NSRangeException', reason: '-[__NSCFString deleteCharactersInRange:]: Range or index out of bounds'
*** First throw call stack:
(
0 CoreFoundation 0x009b5746 __exceptionPreprocess + 182
1 libobjc.A.dylib 0x0063ea97 objc_exception_throw + 44
2 CoreFoundation 0x009b566d +[NSException raise:format:] + 141
3 CoreFoundation 0x00981813 mutateError + 259
4 CoreFoundation 0x009818c1 -[__NSCFString deleteCharactersInRange:] + 65
5 Example App 0x000e3785 -[ViewController printTernaryOfInt:] + 277
6 Example App 0x000e3645 -[ViewController placeOrder:] + 133
7 libobjc.A.dylib 0x006547cd -[NSObject performSelector:withObject:withObject:] + 84
8 UIKit 0x00d75a40 -[UIApplication sendAction:to:from:forEvent:] + 99
9 UIKit 0x00d759d2 -[UIApplication sendAction:toTarget:fromSender:forEvent:] + 64
10 UIKit 0x00eb613a -[UIControl sendAction:to:forEvent:] + 69
11 UIKit 0x00eb6557 -[UIControl _sendActionsForEvents:withEvent:] + 598
12 UIKit 0x00eb57c1 -[UIControl touchesEnded:withEvent:] + 660
13 UIKit 0x00dcdcaa -[UIWindow _sendTouchesForEvent:] + 874
14 UIKit 0x00dce786 -[UIWindow sendEvent:] + 792
15 UIKit 0x00d8c681 -[UIApplication sendEvent:] + 242
16 UIKit 0x00d9cab8 _UIApplicationHandleEventFromQueueEvent + 21484
17 UIKit 0x00d702e7 _UIApplicationHandleEventQueue + 2300
18 CoreFoundation 0x008d706f __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 15
19 CoreFoundation 0x008ccb7d __CFRunLoopDoSources0 + 253
20 CoreFoundation 0x008cc0d8 __CFRunLoopRun + 952
21 CoreFoundation 0x008cba5b CFRunLoopRunSpecific + 443
22 CoreFoundation 0x008cb88b CFRunLoopRunInMode + 123
23 GraphicsServices 0x029e42c9 GSEventRunModal + 192
24 GraphicsServices 0x029e4106 GSEventRun + 104
25 UIKit 0x00d740b6 UIApplicationMain + 1526
26 Example App 0x000e3cfa main + 138
27 libdyld.dylib 0x02d76ac9 start + 1
28 ??? 0x00000001 0x0 + 1
)
libc++abi.dylib: terminating with uncaught exception of type NSException
1
이것을 제공합니다 :
2015-07-11 05:06:02.360 Example App[41665:2134488] 1
2
이것을 제공합니다 :
2015-07-11 05:06:07.613 Example App[41665:2134488] 1 ? 2 : 0
7
이것을 제공합니다 :
2015-07-11 05:06:12.147 Example App[41665:2134488] 1 ? 2 ? 3 ? 4 ? 5 ? 6 ? 7 : 0 : 0 : 0 : 0 : 0 : 0
200
이것을 제공합니다 :
2015-07-11 05:06:35.552 Example App[41665:2134488] 1 ? 2 ? 3 ? 4 ? 5 ? 6 ? 7 ? 8 ? 9 ? 10 ? 11 ? 12 ? 13 ? 14 ? 15 ? 16 ? 17 ? 18 ? 19 ? 20 ? 21 ? 22 ? 23 ? 24 ? 25 ? 26 ? 27 ? 28 ? 29 ? 30 ? 31 ? 32 ? 33 ? 34 ? 35 ? 36 ? 37 ? 38 ? 39 ? 40 ? 41 ? 42 ? 43 ? 44 ? 45 ? 46 ? 47 ? 48 ? 49 ? 50 ? 51 ? 52 ? 53 ? 54 ? 55 ? 56 ? 57 ? 58 ? 59 ? 60 ? 61 ? 62 ? 63 ? 64 ? 65 ? 66 ? 67 ? 68 ? 69 ? 70 ? 71 ? 72 ? 73 ? 74 ? 75 ? 76 ? 77 ? 78 ? 79 ? 80 ? 81 ? 82 ? 83 ? 84 ? 85 ? 86 ? 87 ? 88 ? 89 ? 90 ? 91 ? 92 ? 93 ? 94 ? 95 ? 96 ? 97 ? 98 ? 99 ? 100 ? 101 ? 102 ? 103 ? 104 ? 105 ? 106 ? 107 ? 108 ? 109 ? 110 ? 111 ? 112 ? 113 ? 114 ? 115 ? 116 ? 117 ? 118 ? 119 ? 120 ? 121 ? 122 ? 123 ? 124 ? 125 ? 126 ? 127 ? 128 ? 129 ? 130 ? 131 ? 132 ? 133 ? 134 ? 135 ? 136 ? 137 ? 138 ? 139 ? 140 ? 141 ? 142 ? 143 ? 144 ? 145 ? 146 ? 147 ? 148 ? 149 ? 150 ? 151 ? 152 ? 153 ? 154 ? 155 ? 156 ? 157 ? 158 ? 159 ? 160 ? 161 ? 162 ? 163 ? 164 ? 165 ? 166 ? 167 ? 168 ? 169 ? 170 ? 171 ? 172 ? 173 ? 174 ? 175 ? 176 ? 177 ? 178 ? 179 ? 180 ? 181 ? 182 ? 183 ? 184 ? 185 ? 186 ? 187 ? 188 ? 189 ? 190 ? 191 ? 192 ? 193 ? 194 ? 195 ? 196 ? 197 ? 198 ? 199 ? 200 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0