作者dryman (dryman)
看板MacDev
标题Re: [问题] C 与 Objective-C
时间Tue Oct 2 21:15:17 2012
※ 引述《r0931265515 (蛙哥)》之铭言:
: 小弟不才 最近要将 C 的程式码移接到 Xcode 上,并且在 ipod 上做实机测试,
: 坦白说我用 C 撰写能力比较强,所以刚开始来到 Xcode 上的专属 Objective-c 我是真的
: 看不太懂,虽然也懵懵懂懂用了几个范例来操作看看,例如很简单的按钮、Label显示,我
: 对Xcode的了解就只有这样....後来没有深入了解其他的功能,是因为 C 也可以在上面编
: 译并可以 WORK 。
我对你开发的建议是,首先先确定C code真的可以work
反正printf还是会印到console上
毕竟你要移植的C才是你软体的主体
iOS平台可能不一定跟你原本的环境完全契合
例如许多library只能static link...
对obj-c不熟的话,开一个single view application template
直接在main.m里面贴上你的程式
: 重点来了,Xcode 可以看做是一个开发软体,而 C 是最基本的程式语言,当然是可
: 以使用,不过到头来如果要在 Device 上显示一些结果或文字还是需要用到 objectiveC,
: 那为什麽一开始这些开发软体就直接指定"程式语言"不就好了吗 ? 就像 MATLAB 这样...
: 我是真的想知道这样的关系
: 希望大家能给我一些帮助好让我了解这些东西的差别
Objective-C 是C的变形,可以直接在Objective-C里面写C
你可以想像成它是C的macro+runtime
所有的objective-c的物件其实都是struct+runtime组成的
所以它比C++还更接近C
C++你还需要用extern "C"来界定哪部分是C哪部分是C++...
: 因为现在遇到的问题就是,我想在 C 函式里直接控制 Device 上的 label 显示结果,
: 一直没有头绪要怎麽用,所以才想了解以上这些东西的观念,好让自己有动力
: 去看 objectiveC !
: 感谢各位了 !
我想你需要去买本书学objective-c
我建议去买Big Nerd Ranch: iOS programming guide
这是目前我看过众多ObjC的书中讲得清楚又不会太难的书
先爆个雷,你可以用
[NSString stringWithCString:my_c_string encoding:NSASCIIStringEncoding];
来产生NSString
然後再用myLabel.text = myNSString; 来改变label
label记得设定成是多行:
myLabel.lineBreakMode = NSLineBreakByWordWrapping;
myLabel.numberOfLines = 0; // No limits
也许凭着以上这些你就可以显示文字了
但还是买那本书把objc搞熟比较实际
你看看objc在tiobe上面都冲到第三名了
还不快学?XD
--
不要丢我水球,不要寄私信给我
有问题都在板上讨论吧
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 114.42.99.98