簡體   English   中英

Obj-C在substringWithRange消息上崩潰

[英]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不是一個類,它只是一個intlong的typedef,具體取決於你的編譯目標。)

雖然,奇怪的是,你的代碼可能仍然會像這樣工作,因為指針本身將代替int。

我建議你將第3行分為兩行,以便隔離問題。

NSString *result = [strrep substringWithRange:NSMakeRange(1,3)];
label.text = result;

如果我不得不猜測,我會說標簽可能已經在某個地方被釋放了,而你正試圖分配到一個不好的位置。

如果您的字符串長度小於(1 + 3)4個字符,則會崩潰。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM