我在ios tutorial中看到了這個語句。我可以知道這個語句的含義。 這是否意味着將發件人對象的含義指向另一個對象。在ios中分配一個對象的另一個對象的值
UISlider *s=(UISlider *)sender;
可以提前
我在ios tutorial中看到了這個語句。我可以知道這個語句的含義。 這是否意味着將發件人對象的含義指向另一個對象。在ios中分配一個對象的另一個對象的值
UISlider *s=(UISlider *)sender;
可以提前
任意一個幫助me.thanks通常,採取發送參數的方法命名的sender
作爲id
類型。 id
是通用對象指針。該代碼的重點是將發送方類型轉換爲UISlider*
,以便您可以在其上調用UISlider的方法而不產生編譯器警告。
它的類型轉換sender
作爲UISlider*
。你告訴編譯器「相信我,我知道sender
是UISlider*
」。一旦分配到s
,那麼您可以使用s
作爲UISlider
而無需改進類型檢查(如果id
)且沒有警告(如果sender
是指定類型的objc對象)。如果它不是UISlider
,那麼您的程序在運行時可能會遇到錯誤。
還要注意的是,sender
通常與執行動作的對象/控件相關聯,並且通常用類型id
(例如, - (IBAction)performSomeAction:(id)sender
。在這種情況下,UISlider * s = (UISlider*)sender;
是多餘的。我贊成更簡單的UISlider * s = sender;
。
它是類型轉換。 在這裏,發件人是型號爲UISlider
的類型。
它類似於C
語法,
int x = (int)aValue;
@瑞安巴蘭坦感謝dude.Can你建議我爲iOS艾米有用的教程和我一樣 – Techy
@AnazA一個初學者,我建議你留遠離的iOS,而你是初學者。首先開始正確學習C.實際上,這個問題與Objective-C和iOS沒什麼關係,你可以用2個任意的C指針來做到這一點。 – 2012-11-15 07:07:34