作者acjo (卢小小)
看板MacDev
标题[问题] 关於动态型别的问题
时间Mon Nov 25 20:05:04 2013
小弟是新手,目前正在研读 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)
1F:→ acjo:抱歉,有些术语可能有误,如果看不懂我再加注 11/25 20:09
2F:推 ian90911:-(void)myFunction:(int)num -(int)myFunction:(int)num 11/26 17:45
3F:→ ian90911:你是说同时有这两个方法存在编译器也不会有错这样吗 11/26 17:45
我後来再试 真的跑出错误了
因为我之前是一个有引数一个没有
想想发现这样方法名字是不同的
那我想问如果我的引数和回传值差异
只是用来指向不同类别物件的Pointer
那我需要把引数和回传值的型别都改称id吗?
虽然书里说不改也不会出错
※ 编辑: acjo 来自: 211.76.64.68 (11/26 20:11)