首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

iOS NSArray 字面量語法:缺少 @ 符號導致崩潰

     編輯:程式設計綜合問答

崩潰代碼

NSArray *quotes = @[
    @"R u done yet",
    @"Log in again",
    // ...
    "Please just connect to the servers",  // 缺少 @
    @"You are not giving up are u",
    // ...
];

第 7 個元素 "Please just connect to the servers" 缺少 @ 前綴,屬於 C 風格字串常量 const char*,而非 NSString*。放入 NSArray 時類型不匹配,後續 objectAtIndex: 取出並當作 NSString 發送訊息導致崩潰。

修正

@"Please just connect to the servers",  // 加上 @

避免同類錯誤的習慣

  • 開啟 Xcode **Analyze**(靜態分析),會提示「Incompatible pointer types」警告。
  • 使用 Swift 字面量 ["str1", "str2"] 類型安全,編譯期直接報錯。
  • Code Review 時重點檢查集合字面量中的每個元素前綴。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved