MacDev 板


LINE

※ 引述《uranusjr (←这人是超级笨蛋)》之铭言: : ※ 引述《Gsus (肉元,吉米,助教)》之铭言: : : 我想请问 : : @interface myObject:NSObject { : : NSString *name; : : } : : @property(readonly) NSString *name; : : ------------------------------------ : : @implementation : : -(NSString*)name { : : return ...... : : } : : @end : : 究竟@property(readonly)是针对interface中name这个变数 : : 还是implementation中name这个method? : @property 只是让你少写一些字的捷径 : 请把它直接想成下面这行: : - (NSString *)name; : readonly 代表, 呃, read-only, 所以就是一个 getter 没有 setter : 如果你的 @property 後面没有加 readonly (或有加 readwrite) : 那就是两行 : - (NSString *)name; : - (void)setName:(NSString *)aName; : 所以你在 .m 里面照样实作就对了 ㄟ都...我会问这个是因为我发现我可以declare一个property, ex: @property() NSString *name; 即使@interface中完全没有 NSString *name这个变数 : : 另外如果我将上述例子改写为 : : @interface myObject:NSObject { : : NSString *name; : : } : : @property(readonly) NSString *getName; : : ------------------------------------ : : @implementation : : @synthesize getName; : : @end : : 会发生什麽事情? : ============ IMPORTANT NOTE STARTS HERE ============ : We use name only in Cocoa, not getName : ================ END IMPORTANT NOTE ================ : 不过回到你的问题, 事实上是不会有什麽事情发生 : 因为 @synthesize 仍然是一个让你少打几个字的工具而已 : 它会合成一组「标准」的 setter-getter : 当然如果你有给 readonly 参数那 @synthesize 就只会生出 getter 不会生 setter 承上,我declare一个property @property() NSString *name; 而且@interface中没有 NSString *name 这个变数 我发现我仍然可以在@implementation中synthesize这个name, 而且真的works without any warning or error 并且我在@implementation中甚至可以 [self setName:@"test"]; NSLog(@"%@", [self name]); : 说真的, 我很想知道你是不是自学的... : 如果不是, 那要马你书没看清楚就跑上来问, 要马你看到一本烂书 -.- : 因为书里面应该要把这些东西解释清楚才对 : 还是要重申一下我觉得初学者不应该使用 @property @synthesize 的立场 : 尤其对於没有用 garbage collector 的人XD Sorry 我是自学的XD 看了Object-c 2.0 的文件後不是很明白所以才上来发问T_T --



※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 118.168.32.93
1F:→ uranusjr:我没记错的话如果找不到同名变数会自己帮你建一个 12/16 02:28
2F:→ uranusjr:然後问最後那个只是以防万一你真的看到烂书要赶快救人XD 12/16 02:29
3F:→ Gsus:喔喔喔!!! 感谢~ 12/16 02:32
4F:→ Gsus:那这种被自动建立的变数(if是个物件),将来会被autorelease吗 12/16 03:30
5F:推 Blueshiva:自动建立变数的这种行为,要问的应该是要在哪边关掉吧XD 12/16 04:44







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:BuyTogether站内搜寻

TOP