由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Programming版 - IOS APP 开发指南
相关主题
Sun的compiler貌似很弱啊Go 1.5 will be able to build iOS apps
function pointer 和 call-back function 有什么区别?同步编程真郁闷
请教C++ call-by-ref & call-by-val的问题Node.js 并发模型相关:closure 中 access mutable variable
分享一下 kango extension 的一些心得尼玛 callback 真是反人类
about STL functor and function pointers谁能深入浅出的讲讲protocol和delegate的要点?
[新版申请] 移动设备开发(MobileDev)用STL map的时候怎么自己定义大小比较的关系
My paid IOS APP reached #3 in its category today[合集] a problem about stl compose1
Re: GooG的困局[合集] 大家看看我这个C++ STL Functor那里写错了
相关话题的讨论汇总
话题: app话题: delegate话题: ios话题: objective话题: java
进入Programming版参与讨论
1 (共1页)
d*****l
发帖数: 300
1
做APP半年多了,一直在独自摸索,苦于找不到引路人,感触好多,这里倒一倒,抛砖
引玉。
1. 确定你要做的产品。做IOS开发的第一步不是学习编程,而是想好你要做的东西,
这也是最难的一步.选择产品,一定要是你最熟悉的领域,可以先从个人爱好入手。不
要跟别人后面,拾人牙慧。另外不要做太复杂的东西,最初的开发最好不要超过一个月
。投入高风险大。
APP-Store上有近百万APPs,其中一成的APP供献九成的下载,八成以上的APP都是僵尸,
要从这么多的僵尸里逃出来,其实不是件容易的事。如果你不想多做一个僵尸,一定
要仔细想清楚你做的东西有多少潜在用户,有那些竞争者正在做,你的东西为什么更好。
2. 赢利模式。APP本身基本上就三种方式可以赚钱,PAID-APP,INAPP-PURCHASE,
和广告,选一个或几个与你的APP最适合的方式。个人经验免费与付费下载比例约300:1,
广告eCPM约$0.6. 想好盈利方式是很重要的,不要想着只要人多就能赚钱,除非有足够
的资金支持,并做到非常大的规模,人多不一定赚钱。就算是instagram,也未必赚钱。
3. 设计与开发。至少你须要一个MAC,两三个IOS设备,在非MAC上做开发是可能的,
但如果你真想搞点事,那怕整一MACMINI也行,省很多时间。IOS APP开发是一件很
容易的事,APPLE提供了一整套便利的开发与发布工具,流程与教程。网上的资源也
多如牛毛。一个熟练码工几天就会了。我第一个APP不到一万行,从学习到发布也就
两三个星期.俺还是一文科生,从没有系统学习过CS。
4.维护与推广。APP做出来了,但真的战斗才刚刚开始。酒香不怕巷子?,我可
以务责任的告诉你这是狗屁。我要说的是金子掉在粪坑里永远都没有人能找到。想着
把APP往上一扔就等发财是不可能再发生了。通过你的FACEBOOK,TWITTER,BLOG,
买卖提上灌水等,全力推广你的APP。这时候的APP就象沙漠里的一棵小树苗,很容易歇
菜。
除非你可能花大钱去做MARKETING,个人推广是件痛苦的事,须要不断摸索与学习,这个
在网上还真没有太多好的资源。很重要的一点就是一定要提供方便的反馈方式让用户
可以找到你。耐心解答问题并不断改进。并要求给你RATING与REVIEW,要知道一百个
满意的用户也不一定有一个会给你好的RATING,但一个不满意的用户就很可能给你一
个不好的RATING。这对一新APP是很至命的。同时准备好你的竞争对手来踩你,给你一
颗星的RATING和BAD REVIEW。你没有什么方法可以阻止这种形为。 假以时日,等你的
APP上了规模,这些小鬼便会自行散去。
c*********e
发帖数: 16335
2
objective-c学起来不容易。第一个台阶可能就是delegate了。第二个,可能是core
data.然后就是怎么用core data,web services,predicate.
到这,也就只会objective-c的皮毛。要用它编出angry birds,还要学openGL,2d,3d的
知识。这就更难了。

尸,
好。

【在 d*****l 的大作中提到】
: 做APP半年多了,一直在独自摸索,苦于找不到引路人,感触好多,这里倒一倒,抛砖
: 引玉。
: 1. 确定你要做的产品。做IOS开发的第一步不是学习编程,而是想好你要做的东西,
: 这也是最难的一步.选择产品,一定要是你最熟悉的领域,可以先从个人爱好入手。不
: 要跟别人后面,拾人牙慧。另外不要做太复杂的东西,最初的开发最好不要超过一个月
: 。投入高风险大。
: APP-Store上有近百万APPs,其中一成的APP供献九成的下载,八成以上的APP都是僵尸,
: 要从这么多的僵尸里逃出来,其实不是件容易的事。如果你不想多做一个僵尸,一定
: 要仔细想清楚你做的东西有多少潜在用户,有那些竞争者正在做,你的东西为什么更好。
: 2. 赢利模式。APP本身基本上就三种方式可以赚钱,PAID-APP,INAPP-PURCHASE,

y*******g
发帖数: 6599
3
要编写angry birds还真不需要什么ios的东西,,反正纯open gl+c就好了。

【在 c*********e 的大作中提到】
: objective-c学起来不容易。第一个台阶可能就是delegate了。第二个,可能是core
: data.然后就是怎么用core data,web services,predicate.
: 到这,也就只会objective-c的皮毛。要用它编出angry birds,还要学openGL,2d,3d的
: 知识。这就更难了。
:
: 尸,
: 好。

c*****g
发帖数: 216
4
Rex和楼主给推荐几篇好的帖子帮忙理解一下你说的delegate吧。
刚开始学,确实不好理解呢。

【在 c*********e 的大作中提到】
: objective-c学起来不容易。第一个台阶可能就是delegate了。第二个,可能是core
: data.然后就是怎么用core data,web services,predicate.
: 到这,也就只会objective-c的皮毛。要用它编出angry birds,还要学openGL,2d,3d的
: 知识。这就更难了。
:
: 尸,
: 好。

a****n
发帖数: 1887
5
好文!收藏了
d*****l
发帖数: 300
6
delegate就是JAVA中listener的马甲, 再白一点,就是你不想做的事,交给别人去做
,或者当某个情况发生时,要通知某人做事,这个人就是delegate。
delegate几乎都是以PROTOCOL的形式出现,就象LISTENER都是INTERFACE一样。在语义
上,delegate就是一指针。
举个例子吧, 你要做一广告的FRAMEWORK,写了一个adBanner的类,adBanner
有一个方法叫requestAds,这个方法不会即时反回一个广告,而是要另起线程去服务器
上搂广告。就可以设计一个delegate,当广告搂回来的时候由delegate把它显示出来。
不知道我讲明白了没有。

【在 c*****g 的大作中提到】
: Rex和楼主给推荐几篇好的帖子帮忙理解一下你说的delegate吧。
: 刚开始学,确实不好理解呢。

a**e
发帖数: 5794
7
异步

【在 d*****l 的大作中提到】
: delegate就是JAVA中listener的马甲, 再白一点,就是你不想做的事,交给别人去做
: ,或者当某个情况发生时,要通知某人做事,这个人就是delegate。
: delegate几乎都是以PROTOCOL的形式出现,就象LISTENER都是INTERFACE一样。在语义
: 上,delegate就是一指针。
: 举个例子吧, 你要做一广告的FRAMEWORK,写了一个adBanner的类,adBanner
: 有一个方法叫requestAds,这个方法不会即时反回一个广告,而是要另起线程去服务器
: 上搂广告。就可以设计一个delegate,当广告搂回来的时候由delegate把它显示出来。
: 不知道我讲明白了没有。

y*******g
发帖数: 6599
8
http://developer.apple.com/library/ios/#documentation/Cocoa/Con

【在 c*****g 的大作中提到】
: Rex和楼主给推荐几篇好的帖子帮忙理解一下你说的delegate吧。
: 刚开始学,确实不好理解呢。

a9
发帖数: 21638
9
你说的这个叫callback吧。有没有专门的术语?

【在 d*****l 的大作中提到】
: delegate就是JAVA中listener的马甲, 再白一点,就是你不想做的事,交给别人去做
: ,或者当某个情况发生时,要通知某人做事,这个人就是delegate。
: delegate几乎都是以PROTOCOL的形式出现,就象LISTENER都是INTERFACE一样。在语义
: 上,delegate就是一指针。
: 举个例子吧, 你要做一广告的FRAMEWORK,写了一个adBanner的类,adBanner
: 有一个方法叫requestAds,这个方法不会即时反回一个广告,而是要另起线程去服务器
: 上搂广告。就可以设计一个delegate,当广告搂回来的时候由delegate把它显示出来。
: 不知道我讲明白了没有。

P****i
发帖数: 12972
10
就是callback
c里面是function pointer, c++里面类似的是functor,obj-c、c#里面是delegate

【在 a9 的大作中提到】
: 你说的这个叫callback吧。有没有专门的术语?
相关主题
[新版申请] 移动设备开发(MobileDev)Go 1.5 will be able to build iOS apps
My paid IOS APP reached #3 in its category today同步编程真郁闷
Re: GooG的困局Node.js 并发模型相关:closure 中 access mutable variable
进入Programming版参与讨论
X****r
发帖数: 3557
11
这个类比就不妥当了。Objective C里纯粹的callback可以用block,才适合和
C的function pointer以及C++的functor相对应。delegate不是一个函数或者过程
的概念,而是一个有某个界面的对象的概念。

【在 P****i 的大作中提到】
: 就是callback
: c里面是function pointer, c++里面类似的是functor,obj-c、c#里面是delegate

y*******g
发帖数: 6599
12
block是ios 4才加的
新api也大部分提供两个版本

【在 X****r 的大作中提到】
: 这个类比就不妥当了。Objective C里纯粹的callback可以用block,才适合和
: C的function pointer以及C++的functor相对应。delegate不是一个函数或者过程
: 的概念,而是一个有某个界面的对象的概念。

X****r
发帖数: 3557
13
之所以要加block这个语言特性就是因为对于简单的只要一个callback的情况
下用delegate并不方便,需要一个单独的protocol,有时候调用者甚至还要专门
为它写个类,但是block自带closure,就方便得多。
但是在应该用delegate的时候也并不能用block代替,随便举个例子,常用的
UITableViewDelegate有几十个过程,而且每个iOS版本还在不断扩充,不可能
用一堆block来配置。

【在 y*******g 的大作中提到】
: block是ios 4才加的
: 新api也大部分提供两个版本

a9
发帖数: 21638
14
block是不是就是匿名函数?

【在 X****r 的大作中提到】
: 之所以要加block这个语言特性就是因为对于简单的只要一个callback的情况
: 下用delegate并不方便,需要一个单独的protocol,有时候调用者甚至还要专门
: 为它写个类,但是block自带closure,就方便得多。
: 但是在应该用delegate的时候也并不能用block代替,随便举个例子,常用的
: UITableViewDelegate有几十个过程,而且每个iOS版本还在不断扩充,不可能
: 用一堆block来配置。

c*******9
发帖数: 9032
15
functional object.

【在 a9 的大作中提到】
: block是不是就是匿名函数?
i*****o
发帖数: 1714
16
类比的对,可你说反了。java的interface是objective c protocol的马甲。因为它是
从objective c那里学来的。
delegate只是大家经常用的一个变量名字,其实有时候叫creatorObj或者callerObj更
直接。
再说一遍,objective c是当今最完美的语言。你们有人为java和c#争的你死我活,其
实只是争个第二,大没有必要:)

★ 发自iPhone App: ChineseWeb 7.7

【在 d*****l 的大作中提到】
: delegate就是JAVA中listener的马甲, 再白一点,就是你不想做的事,交给别人去做
: ,或者当某个情况发生时,要通知某人做事,这个人就是delegate。
: delegate几乎都是以PROTOCOL的形式出现,就象LISTENER都是INTERFACE一样。在语义
: 上,delegate就是一指针。
: 举个例子吧, 你要做一广告的FRAMEWORK,写了一个adBanner的类,adBanner
: 有一个方法叫requestAds,这个方法不会即时反回一个广告,而是要另起线程去服务器
: 上搂广告。就可以设计一个delegate,当广告搂回来的时候由delegate把它显示出来。
: 不知道我讲明白了没有。

y*******g
发帖数: 6599
17
name space都没有,完全自己写还好,用几个库能急死人

【在 i*****o 的大作中提到】
: 类比的对,可你说反了。java的interface是objective c protocol的马甲。因为它是
: 从objective c那里学来的。
: delegate只是大家经常用的一个变量名字,其实有时候叫creatorObj或者callerObj更
: 直接。
: 再说一遍,objective c是当今最完美的语言。你们有人为java和c#争的你死我活,其
: 实只是争个第二,大没有必要:)
:
: ★ 发自iPhone App: ChineseWeb 7.7

i*****o
发帖数: 1714
18
这个是个问题,objective c在name space这个领域和c一目一样,没有任何进步。竟然
有一个网站专门让人claim前缀,来防冲突:)
不过两个framework用同样的名字,那个不重要的就该砍掉。

★ 发自iPhone App: ChineseWeb 7.7

【在 y*******g 的大作中提到】
: name space都没有,完全自己写还好,用几个库能急死人
c*********e
发帖数: 16335
19
block就相当于java里面的inline function.

【在 y*******g 的大作中提到】
: block是ios 4才加的
: 新api也大部分提供两个版本

c*********e
发帖数: 16335
20
delegate就是借用别人的工具(method).比如你没有锤子,但是现在要用它做事,就向
张三借他的锤子,张三就是你的delegate.

【在 c*****g 的大作中提到】
: Rex和楼主给推荐几篇好的帖子帮忙理解一下你说的delegate吧。
: 刚开始学,确实不好理解呢。

相关主题
尼玛 callback 真是反人类[合集] a problem about stl compose1
谁能深入浅出的讲讲protocol和delegate的要点?[合集] 大家看看我这个C++ STL Functor那里写错了
用STL map的时候怎么自己定义大小比较的关系把一个function pointer作为参数传入一个function的语法是什么?
进入Programming版参与讨论
c*********e
发帖数: 16335
21
现在看win 8广告里也有angry birds,不知道什么语言写的,c++?

【在 y*******g 的大作中提到】
: 要编写angry birds还真不需要什么ios的东西,,反正纯open gl+c就好了。
c*********e
发帖数: 16335
22
objective-c因为比较老了,对数据库没有很多功能,iphone里用的是sqlite,就是非常
轻量级别的数据库,如果数据量大点,只能通过api从网络获取数据。因为这个,注定
了它只能是在手机这类不需要处理大批量数据的小型机器上使用。
android因为和java一体,所以发展前途无限。加上现在samsung的崛起,android前途
非常广阔。

【在 i*****o 的大作中提到】
: 类比的对,可你说反了。java的interface是objective c protocol的马甲。因为它是
: 从objective c那里学来的。
: delegate只是大家经常用的一个变量名字,其实有时候叫creatorObj或者callerObj更
: 直接。
: 再说一遍,objective c是当今最完美的语言。你们有人为java和c#争的你死我活,其
: 实只是争个第二,大没有必要:)
:
: ★ 发自iPhone App: ChineseWeb 7.7

y*******g
发帖数: 6599
23
open gl的接口什么语言都有吧

【在 c*********e 的大作中提到】
: 现在看win 8广告里也有angry birds,不知道什么语言写的,c++?
y*******g
发帖数: 6599
24
java没inline function吧 你是说anonymous class?

【在 c*********e 的大作中提到】
: block就相当于java里面的inline function.
y*******g
发帖数: 6599
25
iphone/ mac一般用core data

【在 c*********e 的大作中提到】
: objective-c因为比较老了,对数据库没有很多功能,iphone里用的是sqlite,就是非常
: 轻量级别的数据库,如果数据量大点,只能通过api从网络获取数据。因为这个,注定
: 了它只能是在手机这类不需要处理大批量数据的小型机器上使用。
: android因为和java一体,所以发展前途无限。加上现在samsung的崛起,android前途
: 非常广阔。

c*********e
发帖数: 16335
26
我说的是c,c++里的inline function.语言学多了,容易搞混。

java没inline function吧 你是说anonymous class?

【在 y*******g 的大作中提到】
: java没inline function吧 你是说anonymous class?
r******y
发帖数: 3838
27
不一样吧。inline function可以放数组里?

【在 c*********e 的大作中提到】
: 我说的是c,c++里的inline function.语言学多了,容易搞混。
:
: java没inline function吧 你是说anonymous class?

d*****l
发帖数: 300
28
做APP半年多了,一直在独自摸索,苦于找不到引路人,感触好多,这里倒一倒,抛砖
引玉。
1. 确定你要做的产品。做IOS开发的第一步不是学习编程,而是想好你要做的东西,
这也是最难的一步.选择产品,一定要是你最熟悉的领域,可以先从个人爱好入手。不
要跟别人后面,拾人牙慧。另外不要做太复杂的东西,最初的开发最好不要超过一个月
。投入高风险大。
APP-Store上有近百万APPs,其中一成的APP供献九成的下载,八成以上的APP都是僵尸,
要从这么多的僵尸里逃出来,其实不是件容易的事。如果你不想多做一个僵尸,一定
要仔细想清楚你做的东西有多少潜在用户,有那些竞争者正在做,你的东西为什么更好。
2. 赢利模式。APP本身基本上就三种方式可以赚钱,PAID-APP,INAPP-PURCHASE,
和广告,选一个或几个与你的APP最适合的方式。个人经验免费与付费下载比例约300:1,
广告eCPM约$0.6. 想好盈利方式是很重要的,不要想着只要人多就能赚钱,除非有足够
的资金支持,并做到非常大的规模,人多不一定赚钱。就算是instagram,也未必赚钱。
3. 设计与开发。至少你须要一个MAC,两三个IOS设备,在非MAC上做开发是可能的,
但如果你真想搞点事,那怕整一MACMINI也行,省很多时间。IOS APP开发是一件很
容易的事,APPLE提供了一整套便利的开发与发布工具,流程与教程。网上的资源也
多如牛毛。一个熟练码工几天就会了。我第一个APP不到一万行,从学习到发布也就
两三个星期.俺还是一文科生,从没有系统学习过CS。
4.维护与推广。APP做出来了,但真的战斗才刚刚开始。酒香不怕巷子?,我可
以务责任的告诉你这是狗屁。我要说的是金子掉在粪坑里永远都没有人能找到。想着
把APP往上一扔就等发财是不可能再发生了。通过你的FACEBOOK,TWITTER,BLOG,
买卖提上灌水等,全力推广你的APP。这时候的APP就象沙漠里的一棵小树苗,很容易歇
菜。
除非你可能花大钱去做MARKETING,个人推广是件痛苦的事,须要不断摸索与学习,这个
在网上还真没有太多好的资源。很重要的一点就是一定要提供方便的反馈方式让用户
可以找到你。耐心解答问题并不断改进。并要求给你RATING与REVIEW,要知道一百个
满意的用户也不一定有一个会给你好的RATING,但一个不满意的用户就很可能给你一
个不好的RATING。这对一新APP是很至命的。同时准备好你的竞争对手来踩你,给你一
颗星的RATING和BAD REVIEW。你没有什么方法可以阻止这种形为。 假以时日,等你的
APP上了规模,这些小鬼便会自行散去。
c*********e
发帖数: 16335
29
objective-c学起来不容易。第一个台阶可能就是delegate了。第二个,可能是core
data.然后就是怎么用core data,web services,predicate.
到这,也就只会objective-c的皮毛。要用它编出angry birds,还要学openGL,2d,3d的
知识。这就更难了。

尸,
好。

【在 d*****l 的大作中提到】
: 做APP半年多了,一直在独自摸索,苦于找不到引路人,感触好多,这里倒一倒,抛砖
: 引玉。
: 1. 确定你要做的产品。做IOS开发的第一步不是学习编程,而是想好你要做的东西,
: 这也是最难的一步.选择产品,一定要是你最熟悉的领域,可以先从个人爱好入手。不
: 要跟别人后面,拾人牙慧。另外不要做太复杂的东西,最初的开发最好不要超过一个月
: 。投入高风险大。
: APP-Store上有近百万APPs,其中一成的APP供献九成的下载,八成以上的APP都是僵尸,
: 要从这么多的僵尸里逃出来,其实不是件容易的事。如果你不想多做一个僵尸,一定
: 要仔细想清楚你做的东西有多少潜在用户,有那些竞争者正在做,你的东西为什么更好。
: 2. 赢利模式。APP本身基本上就三种方式可以赚钱,PAID-APP,INAPP-PURCHASE,

y*******g
发帖数: 6599
30
要编写angry birds还真不需要什么ios的东西,,反正纯open gl+c就好了。

【在 c*********e 的大作中提到】
: objective-c学起来不容易。第一个台阶可能就是delegate了。第二个,可能是core
: data.然后就是怎么用core data,web services,predicate.
: 到这,也就只会objective-c的皮毛。要用它编出angry birds,还要学openGL,2d,3d的
: 知识。这就更难了。
:
: 尸,
: 好。

相关主题
请教一个boost::bind的问题function pointer 和 call-back function 有什么区别?
请教一个c++ 里functor的问题请教C++ call-by-ref & call-by-val的问题
Sun的compiler貌似很弱啊分享一下 kango extension 的一些心得
进入Programming版参与讨论
c*****g
发帖数: 216
31
Rex和楼主给推荐几篇好的帖子帮忙理解一下你说的delegate吧。
刚开始学,确实不好理解呢。

【在 c*********e 的大作中提到】
: objective-c学起来不容易。第一个台阶可能就是delegate了。第二个,可能是core
: data.然后就是怎么用core data,web services,predicate.
: 到这,也就只会objective-c的皮毛。要用它编出angry birds,还要学openGL,2d,3d的
: 知识。这就更难了。
:
: 尸,
: 好。

a****n
发帖数: 1887
32
好文!收藏了
d*****l
发帖数: 300
33
delegate就是JAVA中listener的马甲, 再白一点,就是你不想做的事,交给别人去做
,或者当某个情况发生时,要通知某人做事,这个人就是delegate。
delegate几乎都是以PROTOCOL的形式出现,就象LISTENER都是INTERFACE一样。在语义
上,delegate就是一指针。
举个例子吧, 你要做一广告的FRAMEWORK,写了一个adBanner的类,adBanner
有一个方法叫requestAds,这个方法不会即时反回一个广告,而是要另起线程去服务器
上搂广告。就可以设计一个delegate,当广告搂回来的时候由delegate把它显示出来。
不知道我讲明白了没有。

【在 c*****g 的大作中提到】
: Rex和楼主给推荐几篇好的帖子帮忙理解一下你说的delegate吧。
: 刚开始学,确实不好理解呢。

a**e
发帖数: 5794
34
异步

【在 d*****l 的大作中提到】
: delegate就是JAVA中listener的马甲, 再白一点,就是你不想做的事,交给别人去做
: ,或者当某个情况发生时,要通知某人做事,这个人就是delegate。
: delegate几乎都是以PROTOCOL的形式出现,就象LISTENER都是INTERFACE一样。在语义
: 上,delegate就是一指针。
: 举个例子吧, 你要做一广告的FRAMEWORK,写了一个adBanner的类,adBanner
: 有一个方法叫requestAds,这个方法不会即时反回一个广告,而是要另起线程去服务器
: 上搂广告。就可以设计一个delegate,当广告搂回来的时候由delegate把它显示出来。
: 不知道我讲明白了没有。

y*******g
发帖数: 6599
35
http://developer.apple.com/library/ios/#documentation/Cocoa/Con

【在 c*****g 的大作中提到】
: Rex和楼主给推荐几篇好的帖子帮忙理解一下你说的delegate吧。
: 刚开始学,确实不好理解呢。

a9
发帖数: 21638
36
你说的这个叫callback吧。有没有专门的术语?

【在 d*****l 的大作中提到】
: delegate就是JAVA中listener的马甲, 再白一点,就是你不想做的事,交给别人去做
: ,或者当某个情况发生时,要通知某人做事,这个人就是delegate。
: delegate几乎都是以PROTOCOL的形式出现,就象LISTENER都是INTERFACE一样。在语义
: 上,delegate就是一指针。
: 举个例子吧, 你要做一广告的FRAMEWORK,写了一个adBanner的类,adBanner
: 有一个方法叫requestAds,这个方法不会即时反回一个广告,而是要另起线程去服务器
: 上搂广告。就可以设计一个delegate,当广告搂回来的时候由delegate把它显示出来。
: 不知道我讲明白了没有。

P****i
发帖数: 12972
37
就是callback
c里面是function pointer, c++里面类似的是functor,obj-c、c#里面是delegate

【在 a9 的大作中提到】
: 你说的这个叫callback吧。有没有专门的术语?
X****r
发帖数: 3557
38
这个类比就不妥当了。Objective C里纯粹的callback可以用block,才适合和
C的function pointer以及C++的functor相对应。delegate不是一个函数或者过程
的概念,而是一个有某个界面的对象的概念。

【在 P****i 的大作中提到】
: 就是callback
: c里面是function pointer, c++里面类似的是functor,obj-c、c#里面是delegate

y*******g
发帖数: 6599
39
block是ios 4才加的
新api也大部分提供两个版本

【在 X****r 的大作中提到】
: 这个类比就不妥当了。Objective C里纯粹的callback可以用block,才适合和
: C的function pointer以及C++的functor相对应。delegate不是一个函数或者过程
: 的概念,而是一个有某个界面的对象的概念。

X****r
发帖数: 3557
40
之所以要加block这个语言特性就是因为对于简单的只要一个callback的情况
下用delegate并不方便,需要一个单独的protocol,有时候调用者甚至还要专门
为它写个类,但是block自带closure,就方便得多。
但是在应该用delegate的时候也并不能用block代替,随便举个例子,常用的
UITableViewDelegate有几十个过程,而且每个iOS版本还在不断扩充,不可能
用一堆block来配置。

【在 y*******g 的大作中提到】
: block是ios 4才加的
: 新api也大部分提供两个版本

相关主题
分享一下 kango extension 的一些心得My paid IOS APP reached #3 in its category today
about STL functor and function pointersRe: GooG的困局
[新版申请] 移动设备开发(MobileDev)Go 1.5 will be able to build iOS apps
进入Programming版参与讨论
a9
发帖数: 21638
41
block是不是就是匿名函数?

【在 X****r 的大作中提到】
: 之所以要加block这个语言特性就是因为对于简单的只要一个callback的情况
: 下用delegate并不方便,需要一个单独的protocol,有时候调用者甚至还要专门
: 为它写个类,但是block自带closure,就方便得多。
: 但是在应该用delegate的时候也并不能用block代替,随便举个例子,常用的
: UITableViewDelegate有几十个过程,而且每个iOS版本还在不断扩充,不可能
: 用一堆block来配置。

c*******9
发帖数: 9032
42
functional object.

【在 a9 的大作中提到】
: block是不是就是匿名函数?
i*****o
发帖数: 1714
43
类比的对,可你说反了。java的interface是objective c protocol的马甲。因为它是
从objective c那里学来的。
delegate只是大家经常用的一个变量名字,其实有时候叫creatorObj或者callerObj更
直接。
再说一遍,objective c是当今最完美的语言。你们有人为java和c#争的你死我活,其
实只是争个第二,大没有必要:)

★ 发自iPhone App: ChineseWeb 7.7

【在 d*****l 的大作中提到】
: delegate就是JAVA中listener的马甲, 再白一点,就是你不想做的事,交给别人去做
: ,或者当某个情况发生时,要通知某人做事,这个人就是delegate。
: delegate几乎都是以PROTOCOL的形式出现,就象LISTENER都是INTERFACE一样。在语义
: 上,delegate就是一指针。
: 举个例子吧, 你要做一广告的FRAMEWORK,写了一个adBanner的类,adBanner
: 有一个方法叫requestAds,这个方法不会即时反回一个广告,而是要另起线程去服务器
: 上搂广告。就可以设计一个delegate,当广告搂回来的时候由delegate把它显示出来。
: 不知道我讲明白了没有。

y*******g
发帖数: 6599
44
name space都没有,完全自己写还好,用几个库能急死人

【在 i*****o 的大作中提到】
: 类比的对,可你说反了。java的interface是objective c protocol的马甲。因为它是
: 从objective c那里学来的。
: delegate只是大家经常用的一个变量名字,其实有时候叫creatorObj或者callerObj更
: 直接。
: 再说一遍,objective c是当今最完美的语言。你们有人为java和c#争的你死我活,其
: 实只是争个第二,大没有必要:)
:
: ★ 发自iPhone App: ChineseWeb 7.7

i*****o
发帖数: 1714
45
这个是个问题,objective c在name space这个领域和c一目一样,没有任何进步。竟然
有一个网站专门让人claim前缀,来防冲突:)
不过两个framework用同样的名字,那个不重要的就该砍掉。

★ 发自iPhone App: ChineseWeb 7.7

【在 y*******g 的大作中提到】
: name space都没有,完全自己写还好,用几个库能急死人
c*********e
发帖数: 16335
46
block就相当于java里面的inline function.

【在 y*******g 的大作中提到】
: block是ios 4才加的
: 新api也大部分提供两个版本

c*********e
发帖数: 16335
47
delegate就是借用别人的工具(method).比如你没有锤子,但是现在要用它做事,就向
张三借他的锤子,张三就是你的delegate.

【在 c*****g 的大作中提到】
: Rex和楼主给推荐几篇好的帖子帮忙理解一下你说的delegate吧。
: 刚开始学,确实不好理解呢。

c*********e
发帖数: 16335
48
现在看win 8广告里也有angry birds,不知道什么语言写的,c++?

【在 y*******g 的大作中提到】
: 要编写angry birds还真不需要什么ios的东西,,反正纯open gl+c就好了。
c*********e
发帖数: 16335
49
objective-c因为比较老了,对数据库没有很多功能,iphone里用的是sqlite,就是非常
轻量级别的数据库,如果数据量大点,只能通过api从网络获取数据。因为这个,注定
了它只能是在手机这类不需要处理大批量数据的小型机器上使用。
android因为和java一体,所以发展前途无限。加上现在samsung的崛起,android前途
非常广阔。

【在 i*****o 的大作中提到】
: 类比的对,可你说反了。java的interface是objective c protocol的马甲。因为它是
: 从objective c那里学来的。
: delegate只是大家经常用的一个变量名字,其实有时候叫creatorObj或者callerObj更
: 直接。
: 再说一遍,objective c是当今最完美的语言。你们有人为java和c#争的你死我活,其
: 实只是争个第二,大没有必要:)
:
: ★ 发自iPhone App: ChineseWeb 7.7

y*******g
发帖数: 6599
50
open gl的接口什么语言都有吧

【在 c*********e 的大作中提到】
: 现在看win 8广告里也有angry birds,不知道什么语言写的,c++?
相关主题
同步编程真郁闷谁能深入浅出的讲讲protocol和delegate的要点?
Node.js 并发模型相关:closure 中 access mutable variable用STL map的时候怎么自己定义大小比较的关系
尼玛 callback 真是反人类[合集] a problem about stl compose1
进入Programming版参与讨论
y*******g
发帖数: 6599
51
java没inline function吧 你是说anonymous class?

【在 c*********e 的大作中提到】
: block就相当于java里面的inline function.
y*******g
发帖数: 6599
52
iphone/ mac一般用core data

【在 c*********e 的大作中提到】
: objective-c因为比较老了,对数据库没有很多功能,iphone里用的是sqlite,就是非常
: 轻量级别的数据库,如果数据量大点,只能通过api从网络获取数据。因为这个,注定
: 了它只能是在手机这类不需要处理大批量数据的小型机器上使用。
: android因为和java一体,所以发展前途无限。加上现在samsung的崛起,android前途
: 非常广阔。

c*********e
发帖数: 16335
53
我说的是c,c++里的inline function.语言学多了,容易搞混。

java没inline function吧 你是说anonymous class?

【在 y*******g 的大作中提到】
: java没inline function吧 你是说anonymous class?
r******y
发帖数: 3838
54
不一样吧。inline function可以放数组里?

【在 c*********e 的大作中提到】
: 我说的是c,c++里的inline function.语言学多了,容易搞混。
:
: java没inline function吧 你是说anonymous class?

i*****s
发帖数: 265
55
exactly呀。
我java,c++,python,matlab等,都在用。工具opengl,opencv等。隔两三个月换回来,
有轮回感觉。

【在 c*********e 的大作中提到】
: 我说的是c,c++里的inline function.语言学多了,容易搞混。
:
: java没inline function吧 你是说anonymous class?

p***r
发帖数: 1098
56
core data的本质还是存储在SQlite里吧?
至少在iPhone上是这样

【在 y*******g 的大作中提到】
: iphone/ mac一般用core data
G**Y
发帖数: 33224
57
这是2012的帖子呀。

尸,
好。

【在 d*****l 的大作中提到】
: 做APP半年多了,一直在独自摸索,苦于找不到引路人,感触好多,这里倒一倒,抛砖
: 引玉。
: 1. 确定你要做的产品。做IOS开发的第一步不是学习编程,而是想好你要做的东西,
: 这也是最难的一步.选择产品,一定要是你最熟悉的领域,可以先从个人爱好入手。不
: 要跟别人后面,拾人牙慧。另外不要做太复杂的东西,最初的开发最好不要超过一个月
: 。投入高风险大。
: APP-Store上有近百万APPs,其中一成的APP供献九成的下载,八成以上的APP都是僵尸,
: 要从这么多的僵尸里逃出来,其实不是件容易的事。如果你不想多做一个僵尸,一定
: 要仔细想清楚你做的东西有多少潜在用户,有那些竞争者正在做,你的东西为什么更好。
: 2. 赢利模式。APP本身基本上就三种方式可以赚钱,PAID-APP,INAPP-PURCHASE,

c*******9
发帖数: 9032
58
手机应用能有几个是直接操作数据库的。

【在 c*********e 的大作中提到】
: objective-c因为比较老了,对数据库没有很多功能,iphone里用的是sqlite,就是非常
: 轻量级别的数据库,如果数据量大点,只能通过api从网络获取数据。因为这个,注定
: 了它只能是在手机这类不需要处理大批量数据的小型机器上使用。
: android因为和java一体,所以发展前途无限。加上现在samsung的崛起,android前途
: 非常广阔。

c*******9
发帖数: 9032
59
这个都难,还能干什么。java也一样要学类似的东西。

【在 c*********e 的大作中提到】
: objective-c因为比较老了,对数据库没有很多功能,iphone里用的是sqlite,就是非常
: 轻量级别的数据库,如果数据量大点,只能通过api从网络获取数据。因为这个,注定
: 了它只能是在手机这类不需要处理大批量数据的小型机器上使用。
: android因为和java一体,所以发展前途无限。加上现在samsung的崛起,android前途
: 非常广阔。

1 (共1页)
进入Programming版参与讨论
相关主题
[合集] 大家看看我这个C++ STL Functor那里写错了about STL functor and function pointers
把一个function pointer作为参数传入一个function的语法是什么?[新版申请] 移动设备开发(MobileDev)
请教一个boost::bind的问题My paid IOS APP reached #3 in its category today
请教一个c++ 里functor的问题Re: GooG的困局
Sun的compiler貌似很弱啊Go 1.5 will be able to build iOS apps
function pointer 和 call-back function 有什么区别?同步编程真郁闷
请教C++ call-by-ref & call-by-val的问题Node.js 并发模型相关:closure 中 access mutable variable
分享一下 kango extension 的一些心得尼玛 callback 真是反人类
相关话题的讨论汇总
话题: app话题: delegate话题: ios话题: objective话题: java