小编Cen*_*ion的帖子

如何找到用于构建*.ipa文件的配置文件?

是否有可能以及如何从现有的*.ipa文件中获取有关配置文件的信息?

iphone ios provisioning-profile

65
推荐指数
3
解决办法
3万
查看次数

使用Hapi时如何在单独的文件中存储路由?

所有Hapi示例(以及Express中的类似示例)都显示路由在起始文件中定义:

var Hapi = require('hapi');

var server = new Hapi.Server();
server.connection({ port: 8000 });

server.route({
  method: 'GET',
  path: '/',
  handler: function (request, reply) {
    reply('Hello, world!');
  }
});

server.route({
  method: 'GET',
  path: '/{name}',
  handler: function (request, reply) {
    reply('Hello, ' + encodeURIComponent(request.params.name) + '!');
  }
});

server.start(function () {
  console.log('Server running at:', server.info.uri);
});
Run Code Online (Sandbox Code Playgroud)

但是,在实现具有大量不同路由的生产应用程序时,不难想象这个文件有多大.因此,我想分解路由,将它们分组并存储在单独的文件中,如UserRoutes.js,CartRoutes.js,然后将它们附加到主文件中(添加到服务器对象).您如何建议将其分开然后添加?

routes node.js hapijs

50
推荐指数
3
解决办法
2万
查看次数

如何推送两个视图控制器,但仅为第二个控制器设置动画转换?

我在storyboad中有三个控制器(FirstVC,SecondVC,ThirdVC),导航是顺序的:用户可以从FirstVC导航到SecondVC,然后导航到ThirdVC.现在,我需要制作一些按钮,它将从FirstVC打开ThirdVC,但也会将SecondVC放在导航堆栈上,所以当用户从ThirdVC按回来时,他将返回到SecondVC.因此,我不需要从FirstVC到SecondVC的动画,只需要在导航控制器堆栈上推送SecondVC,然后仅动画转换到ThirdVC.

我无法找到如何禁用performSegueWithIdentifier的动画,所以我想我应该手动从storyboard实例化SecondVC,将它放在导航堆栈上,然后为ThirdVC执行performSegueWithIdentifier.任何想法如何做到这一点?

cocoa-touch objective-c storyboard uikit ios

46
推荐指数
4
解决办法
1万
查看次数

CABasicAnimation无限重复没有HUGE_VALF?

我正在尝试使用CABasicAnimation执行我的图像旋转动画的自动重复.我试图在网上搜索如何设置这样的属性,但无法找到.CA动画真的没有这样的属性吗?我知道你可以设置一些巨大的值(这里)到repeatCount属性,但是,为什么UIView animateWithDuration有一个选项UIViewAnimationOptionRepeat以及该值是硬编码的呢?

iphone animation objective-c repeat cabasicanimation

40
推荐指数
2
解决办法
2万
查看次数

如何在AWS DynamoDB中连接表?

我知道整个设计应该基于自然聚合(文档),但是我正在考虑为本地化(lang,key,text)实现一个单独的表,然后在其他表中使用键.但是,我无法找到任何关于这样做的例子.

任何指针可能会有所帮助!

amazon amazon-web-services amazon-dynamodb

34
推荐指数
4
解决办法
3万
查看次数

在单独的线程上调用我的方法有哪些不同的方法?

我有一些数据计算方法(让它是"myMethod:"),我想将调用移动到另一个线程,因为我不想阻止我的主UI功能.所以,开始研究如何在另一个线程上调用我的方法.据我所知,目前有很多不同的方法可以做到这一点.这是一个清单:

a)使用纯线程(自iOS 2.0起可用):

[NSThread detachNewThreadSelector:@selector(myMethod:) toTarget:self withObject:_myParamsArray];
Run Code Online (Sandbox Code Playgroud)

b)使用简单的快捷方式(从iOS 2.0开始提供).可从继承的NSObject获得,但该方法也属于NSThread类:

[self performSelectorInBackground:@selector(myMethod:) withObject:_myParamsArray];
Run Code Online (Sandbox Code Playgroud)

c)使用Grand Central Dispatch队列的新方法(自iOS 4.0起可用):

dispatch_async(dispatch_get_global_queue(0, 0),
  ^ {
      [self myMethod:_myParamsArray];
    });
Run Code Online (Sandbox Code Playgroud)

d)不知何故,使用一些类,如NSOperation,NSBlockOperation或NSOperationQueue,虽然不确定如何完成它(一些例子将被赞赏)

目前,我使用了案例"b",但对其利弊和其他相关建议充满好奇.

更新:e)还找到了执行类似线程的另一种方法 - 运行循环.以下是苹果文档的摘录:

运行循环是一个事件处理循环,用于计划工作并协调传入事件的接收.运行循环的目的是在有工作时保持线程忙,并在没有线程时让线程进入休眠状态.

恕我直言,或多或少你正在处理相同的任务 - 如何在单独的线程上调用你的方法进行异步操作.

更新2:已经有一些NSInvocationOperation和NSOperationQueue和恕我直言的经验,这是非常方便的.根据Apple文档,GCD和NSOperations是实现多线程的首选方式.此外,NSOperations从iOS 4.0开始在GCD上运行.简而言之,您实例化NSIvocationOperation(作为对您的方法的调用)然后实例化NSOperationQueue并将调用添加到队列.NSOperationQueue足够聪明,你可以实例化多个NSIvocationOperation对象(包装方法调用)并将它们实例化为NSOperationQueue.其余的都有保证.NSOperationQueue确定执行调用所需的并行线程数(NSInvocationOperation)并为您处理.它可以在线程A上执行第一次调用,然后在线程B上执行第二次调用,在线程C上执行第三次,在线程B上执行第三次调用,因此您不必担心这一点.但是如果你愿意,你可以告诉NSOperationQueue最大线程如何用于执行调用(例如1),但我没有必要这样做.默认情况下,所有任务都在主线程以外的位置执行,因此默认情况下操作队列是异步的.此外,如果要在严格队列中执行方法调用(每个包装在单独的NSInvocationOperation中),则可以添加依赖项,因此NSOperationQueue将保留方法调用顺序.这是一个例子:

// wrap your method call into NSInvocationOperation object
NSInvocationOperation *currentOperation = [[NSInvocationOperation alloc] initWithTarget:self selector:@selector(yourMethodCall) object:nil];

// _sharedOperationQueue is a shared NSOperationQueue 
// get all executing operations from the queue and get the last operation
_lastOperation = [[_sharedOperationQueue operations] lastObject];

// check if _lastOperation is …
Run Code Online (Sandbox Code Playgroud)

concurrency multithreading objective-c grand-central-dispatch ios

31
推荐指数
1
解决办法
1万
查看次数

UIView上存在哪些类似的功能方法(viewWillAppear)?

当视图即将在屏幕上显示时,在UIViewController上调用viewWillAppear.是否有可能在UIView上获得类似的回调?

objective-c uikit uiview viewwillappear ios

29
推荐指数
2
解决办法
2万
查看次数

CSRF保护:我们是否必须为每个表单生成令牌?

我们是否必须为网站中的每个表单生成令牌?我的意思是,每次为每个请求的表单生成不同的令牌?如果没有,为什么?

security csrf

28
推荐指数
2
解决办法
1万
查看次数

如何在点击时禁用UIButton高亮显示?

如何在点击时禁用按钮高亮效果?具有白色bg颜色和DarkGray文本颜色的自定义按钮.问题是按钮单击时文本变为白色.已经尝试但没有一个工作:

一个.在界面构建器中取消选中"突出显示的Ajusts图像".

湾 在按下按钮的方法中尝试设置突出显示= NO:

((UIButton *)sender).highlighted = NO
Run Code Online (Sandbox Code Playgroud)

C.尝试为highlihted状态设置相同的标题:

[button setTitle:[button titleForState:UIControlStateNormal] forState:UIControlStateHighlighted];
Run Code Online (Sandbox Code Playgroud)

有什么建议?

objective-c uibutton ios

25
推荐指数
6
解决办法
3万
查看次数

如何在目标c中实施私人和公共成员?

我有一些关于在工作中使用属性和实例变量的讨论,因此我想找到一个wiki的答案.现在,我知道在objective-c中没有真正的私有成员类型,一切都是公开的.但是,我有点担心我们应该如何设计我们的类以及遵守OOP原则.我想听听这三种设计方法的意见:

A.根据各种帖子甚至是新的斯坦福大学iPhone开发课程,你应该随时随地使用属性.然而恕我直言,这种方法制定了OOP设计原则,因为在这种情况下,所有成员都会公开.为什么我需要将所有内部/本地实例变量发布到外部?此外,如果您通过属性使用合成设置器,而不是直接使用本地ivar,则会有一些(但仍然)开销很小.这是一个示例:

//==== header file =====//
@interface MyClass : NSObject

@property (nonatomic, retain) NSString *publicMemberWithProperty;
@property (nonatomic, retain) NSString *propertyForPrivateMember;

@end
Run Code Online (Sandbox Code Playgroud)

B.另一种方法是在声明头文件的ivars(不宣相关性质)为私有成员,并且以相同的头文件,申报纯特性(不宣相对的ivars)为公众成员.在这种情况下,ivars将直接在课堂上使用.这种方法很有意义但不会使用属性的所有好处,因为我们在设置新值之前手动释放旧值.这是一个示例:

//==== header file =====//
@interface MyClass : NSObject{
  NSString *_privateMember;
}

@property (nonatomic, retain) NSString *publicMemberWithProperty;

@end
Run Code Online (Sandbox Code Playgroud)

C.在头文件中为公共成员声明纯属性(不声明相对的ivars),并在实现文件的私有接口中为私有成员声明纯属性(不声明相对的ivars).这种方法恕我直言比第一种更明确,但同样的问题仍然存在:为什么我们必须拥有内部/本地成员的财产?这是一个示例:

//==== header file =====//
@interface MyClass : NSObject

@property (nonatomic, retain) NSString *publicMemberWithProperty;

@end

//==== implementation file =====//
@interface MyClass()

@property (nonatomic, retain) NSString *propertyForPrivateMember;

@end
Run Code Online (Sandbox Code Playgroud)

这个决定的自由让我感到很恼火,我想从各自的消息来源中找到关于应该如何做的确认.但是,我无法在Apple文档中找到这样严格的声明,所以请发布一个链接到Apple docs(如果有的话),或者发布任何其他清除它的理论.

oop cocoa-touch properties objective-c ios

23
推荐指数
1
解决办法
2万
查看次数