[英]Obj-C crashes on substringWithRange message
以下代碼使我的應用程序在第3行崩潰而沒有我會識別或知道如何處理的錯誤。 關於我做錯了什么的任何想法?
NSInteger *match = [str1 intValue] + [str2 intValue];
NSString *strrep = [NSString stringWithFormat:@"%i", match];
label.text = [strrep substringWithRange:NSMakeRange(1,3)];
你想要NSInteger match
。 沒有指針。 (NSInteger不是一個類,它只是一個int
或long
的typedef,具體取決於你的編譯目標。)
雖然,奇怪的是,你的代碼可能仍然會像這樣工作,因為指針本身將代替int。
我建議你將第3行分為兩行,以便隔離問題。
NSString *result = [strrep substringWithRange:NSMakeRange(1,3)];
label.text = result;
如果我不得不猜測,我會說標簽可能已經在某個地方被釋放了,而你正試圖分配到一個不好的位置。
如果您的字符串長度小於(1 + 3)4個字符,則會崩潰。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.