iOS 從 AppDelegate 訪問全局數組:使用 sharedApplication.delegate 獲取單例
問題場景 在 AppDelegate 中聲明 @property NSMutableArray *books,需在 XMLParser 和 BooksDetai
iOS UIGridView 顯示重複圖片:cellForRowAt 需根據行列索引返回不同數據
問題現象 UIGridView 所有單元格顯示同一張圖片,因 cellForRowAt 中使用固定鏈接 imageLink。 修正思路 根據 rowIndex
Android BroadcastReceiver 中打開數據庫:在 onReceive 獲取 Context 實例化
問題現象 在 BroadcastReceiver 子類構造函數中調用 new Database(this) 報錯:The constructor Databas
iOS NSString 敏感數據內存清零:系統限制無法完全擦除
問題背景 從 UITextField 獲取密碼字符串,希望使用後從內存中徹底清零,防止內存掃描洩露。 結論 iOS 應用層無法徹底清除 NSString 內存
iOS ActivityIndicatorView 顯示在 UITableViewController 前端:添加到父視圖而非 tableView
問題現象 將 activityIndicatorView 添加到 self.tableView,導致指示器在表格內部滾動、被遮擋。 解決方案 添加到控制器的根
iOS NSAttributedString 根據 Slider 值設置文字顏色:NSMutableAttributedString 設置屬性
需求場景 Slider 值 0-4 對應文本「Very Bad, Bad, Okay, Good, Very Good」,需根據值設置對應顏色:紅、橙、黃、綠、
Android 動態加載 OpenSL ES 庫:根據版本號加載不同 so 文件
問題背景 OpenSL ES 支持 Android 2.3 (API 9) 以上,需在運行時根據版本動態加載對應的 JNI 庫。 實現方案 編譯兩個 so:l
iOS NSMutableArray 替換元素:使用 mutableCopy 簡化操作
問題代碼 NSArray *oldArray = [_alertsArray objectAtIndex:indexPath.row]; NSMutableAr
iOS ViewController 之間傳遞數組:直接屬性賦值而非 JSON
問題場景 第一個 VC 收集兩個 TextField 文本,點擊跳轉到第二個 VC 並顯示數組數據。原考慮用 JSON 序列化傳遞。 簡直接法:直接屬性賦值
Objective-C 將 NSArray 轉為 NSMutableArray 並添加字段:兩種方法
問題背景 有一個包含字典的不可變數組,需轉為可變數組,並為每個字典添加 tag 字段。 方法一:逐項構建可變副本(推薦,清晰可控) NSArray *oldA
Android TextView 點擊電話號碼撥打:使用 Linkify 自動識別
問題現象 設置 Html.fromHtml 包含 <a href=tel:...> 的文本,點擊無反應。 解決方案 使用 Linkify 自動識別
iOS 移除 UIView 上的特定 UIImageView:使用 isKindOfClass 過濾
需求場景 視圖包含多種子視圖(Button、ImageView 等),需僅移除所有 UIImageView 子視圖。 實現代碼 for (UIView *su
iOS 內存洩漏修復:非 ARC 環境下將對象放入 autoreleasepool
問題代碼 ContentViewController *dataViewController = [[ContentViewController alloc]
Android SherlockActionBar 與 FragmentActivity 衝突:繼承 SherlockFragmentActivity 解決
問題背景 原項目繼承 FragmentActivity 使用 getSupportFragmentManager(),接入 ActionBarSherlock
iOS JSON 序列化 NSDate 異常:轉換為時間戳字符串或數字後再編碼
問題現象 直接將包含 NSDate 對象的字典/數組序列化為 JSON 時崩潰:Invalid type in JSON write (__NSDate)。
iOS MapKit 自定義 AnnotationView 點擊崩潰:正確實現 MKAnnotation 協議
問題現象 自定義 CustomPointAnnotation 繼承 MKPointAnnotation,在 viewForAnnotation 中調用 [ann
Android SQLite 查詢結果排序:在 query 最後一個參數指定 ORDER BY
問題場景 使用 SQLiteDatabase.query() 獲取 Cursor,需按指定列(如名字)排序。 解決方法 query() 方法的最後一個參數為
iOS 獲取 CGFloat 絕對值:使用 fabs() 而非 abs()
問題現象 CGFloat f = -123; abs(f); 返回 0,因 abs() 接受 int 參數,浮點數被隱式截斷。 正確函數 CGFloat f