_btn.frame.origin.y -= 10;
expression is not assignable
報錯原因:oc語法規定:不允許直接修改某個物件的結構體屬性的成員
_btn 是個物件
frame是個結構體。
物件和結構體是不一樣的,結構體是c語言中的,裡面可以定義許多屬性,但是不能定義方法,而物件是即可以定義屬性又可以定義方法的,是典型的物件導向語法。
如何改變物件中結構體屬性的成員:
解決方法一:
// 既然不能直接修改物件中的結構體屬性成員
// 先取出結構體
cgrect
frame =
_btn
.frame;
// 修改結構體
frame.
origin.y
-=10;
// 將修改後的結構體重新賦值回去
_btn
.frame
= frame;
解決方法二:
// 先取出y值
cgfloat
y =_btn
.frame
.origin.y
; // 修改y值
y -= 10;
// 重新設定
_btn的y
值,其他屬性和
_btn
保持不變
_btn
.frame
=cgrectmake
(_btn
.frame
.origin.x
, y,
_btn
.frame
.size
.width
,_btn
.frame
.size
.height
);
編譯時 報錯處理(二)id型別
nsinteger i sender.tag property tag not found on object of type strong id 報錯原因 id型別不能使用點語法 解決方式一 利用get 方法獲取 tag值 nsinteger i sender tag 解決方式二 將id 強轉為u...
redis編譯報錯處理
1 報錯 root host2 006 redis 5.0.8 make cd src make all make 1 entering directory data redis 5.0.8 src cc adlist.o in file included from adlist.c 34 0 zm...
windows jenkins編譯報錯處理
build step execute windows batch command marked build as failure jenkis,在執行windows命令編譯.net專案的時候命令執行成功了,但是卻還是報了這樣乙個錯 build step execute windows batch c...