[英]Expression Result Unused Error in Xcode
為什么會出現此錯誤?
if(appDelegate.lastLevelIndex!=0) {
[self.view addSubview:creditView];
NSString *level=[NSString stringWithFormat:(@"%d",appDelegate.lastLevelIndex)];
label.text=level;
appDelegate.lastLevelIndex=0;
}
由於原始錯誤,我在這里也崩潰了。
在此處刪除括號:
NSString *level=[NSString stringWithFormat:(@"%d",appDelegate.lastLevelIndex)];
^ ^
導致:
NSString *level=[NSString stringWithFormat:@"%d",appDelegate.lastLevelIndex];
方法stringWithFormat:
需要一個逗號分隔的參數列表。 第一個參數是用作模板的格式字符串,其余參數值將替換為該模板。
但是,在放置了括號的情況下,您正在將單個參數傳遞給stringWithFormat:
這是對括號中包含的表達式進行求值的結果。
(@"%d",appDelegate.lastLevelIndex)
^
在C中,並通過擴展,在Objective-C中,從左到右對由逗號分隔的表達式列表進行求值,結果的類型和值就是右操作數的類型和值。
因此,要傳遞的值appDelegate.lastLevelIndex
,的整數,作為唯一的參數到stringWithFormat:
方法,它需要一個NSString *
。 因此,崩潰。 “表達式結果未使用”警告是由於左表達式@"%d"
不起作用的緣故。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.