[問題] 關於動態型別的問題

看板MacDev作者 (盧小小)時間10年前 (2013/11/25 20:05), 編輯推噓1(102)
留言3則, 2人參與, 最新討論串1/1
小弟是新手,目前正在研讀 Programming in Objective-C, 5th 這本書。 在第九章有談到動態型別,有一些問題想請教大家。 書裡面說使用動態型別的變數時,如果要執行的方法在很多類別都有出現, 每個方法的引數型別要一致,回傳值的型別也要一致。不然編譯器會產生錯誤。 我現在使用 Xcode 5,我測試了兩個名字一樣, 引數和回傳值型別不同(不同物件型別)的方法,結果都沒有出現錯誤。 書裡面也有說如果一個方法的引數型別是float,另一個是物件, 或是一個方法的回傳值型別是int, 另一個是物件,也可能出現錯誤。 但是我測試過都沒有出現錯誤。 所以書裡談到的這條規則現在還適用嗎? 還是應該把這些方法的型別都改成id,或是方法改用不同名稱? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 211.76.64.68 ※ 編輯: acjo 來自: 211.76.64.68 (11/25 20:08)

11/25 20:09, , 1F
抱歉,有些術語可能有誤,如果看不懂我再加註
11/25 20:09, 1F

11/26 17:45, , 2F
-(void)myFunction:(int)num -(int)myFunction:(int)num
11/26 17:45, 2F

11/26 17:45, , 3F
你是說同時有這兩個方法存在編譯器也不會有錯這樣嗎
11/26 17:45, 3F
我後來再試 真的跑出錯誤了 因為我之前是一個有引數一個沒有 想想發現這樣方法名字是不同的 那我想問如果我的引數和回傳值差異 只是用來指向不同類別物件的Pointer 那我需要把引數和回傳值的型別都改稱id嗎? 雖然書裡說不改也不會出錯 ※ 編輯: acjo 來自: 211.76.64.68 (11/26 20:11)
文章代碼(AID): #1IappppZ (MacDev)