我在尋找類似:Objective-C中有「with」語句嗎?
with car.body.wheel
begin
.airPressure = 3.0;
.diameter = 20;
end
我可以爲它編寫宏我猜,但不知道是否有任何建立項。
我在尋找類似:Objective-C中有「with」語句嗎?
with car.body.wheel
begin
.airPressure = 3.0;
.diameter = 20;
end
我可以爲它編寫宏我猜,但不知道是否有任何建立項。
答案沒有,有在目標C.沒有這樣的事情
只是這樣做
XObject *x = car.body.wheel;
x.airPressure = 3.0;
x.diameter = 20;
當然,改變XObject
到任何類型wheel
爲
更新:擺脫了id語法
號而不是寫它的宏,這很可能使你的代碼難以對其他的Objective-C程序員閱讀,你應該只是做了正常ObjC方式:
car.body.wheel.airPressure = 3.0;
car.body.wheel.diameter = 20;
我真的沒有看到「其他Objective-C程序員難以閱讀」(如果使用宏)。寫得越少越好,另外,不像它是一個神祕的東西,正確的標籤對齊,可以相當好。 – 2013-04-24 01:57:20
少寫並不總是更好。特別是在Objective-C中,某些程度的冗長(在方法名稱等中)是標準的並且是一種優點。如果我要走回頭路,查找宏只是爲了瞭解什麼應該是一些賦值語句,這不是一件好事...... – 2013-04-24 17:57:02
那麼,你並不需要真正原路返回它,將是非常明顯的。但我想這是一個偏好/背景問題。我個人比較喜歡包裝和集中的東西,所以我不需要閱讀10行代碼來理解我可以通過閱讀一個包裝行來得到同樣的東西。 – 2013-04-26 02:45:42
'wheel'的類型是什麼?它是一個對象還是一個結構? – 2013-04-24 01:52:33
一個對象。出於好奇,有沒有辦法爲結構做到這一點? – Meda 2013-04-24 02:00:04
不是一般的,但是如果你碰巧指定了結構的所有*字段,你可以使用一個結構文字和指定的初始化器。的 – 2013-04-24 02:07:09