小编Lup*_*upi的帖子

NSURL baseURL返回nil.获取实际基本URL的任何其他方式

我想我不明白"baseURL"的概念.这个:

NSLog(@"BASE URL: %@ %@", [NSURL URLWithString:@"http://www.google.es"], [[NSURL URLWithString:@"http://www.google.es"] baseURL]);
Run Code Online (Sandbox Code Playgroud)

打印这个:

BASE URL: http://www.google.es (null)
Run Code Online (Sandbox Code Playgroud)

当然,在Apple文档中我读到了这个:

返回值接收方的基本URL.如果接收者是绝对URL,则返回nil.

我想从这个示例网址中获取:

https://www.google.es/search?q=uiviewcontroller&aq=f&oq=uiviewcontroller&sourceid=chrome&ie=UTF-8

这个基本URL

https://www.google.es

我的问题很简单.有没有更简洁的方法来获取实际的基本URL而不连接方案和主机名?我的意思是,基本URL的目的是什么呢?

objective-c nsurl

11
推荐指数
2
解决办法
9376
查看次数

Ruby on Rails:控制器和视图可用的常用方法?

我一直在使用Ruby on Rails很短的时间.最近我为我的应用程序实现了一个认证系统.我在'application_helper.rb'上提供了一个方法来检索当前记录的用户(名为current_user的方法).

User如果session[:user_id]变量存在,该方法只检索我的对象.

但是我面临以下问题.

  1. 如果我将current_user方法放在' application_helper.rb '中,我的控制器就无法使用它
  2. 如果我将current_user方法放在' application_controller.rb '中,我的视图就无法使用它

解决这个问题的最佳方法是什么?简单的方法是在控制器和帮助器中复制我的代码,但我知道有更好更正确的方法.

提前致谢

ruby authentication ruby-on-rails ruby-on-rails-4

7
推荐指数
1
解决办法
1690
查看次数

iOS:Facebook评论插件移动版不断重新加载

最近我一直在尝试将Facebook社交插件集成到iOS中的自定义UIWebView中以评论网页.我添加了Like按钮以及Comments插件.这是我加载到Web视图中的HTML代码:

  <html>
    <body>
<div id="fb-root"></div>
<script>(function(d, s, id) {
var js, fjs = d.getElementsByTagName(s)[0];
if (d.getElementById(id)) return;
js = d.createElement(s); js.id = id;
js.src = "//connect.facebook.net/en_US/all.js#xfbml=1";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));</script>
<div class="fb-like" data-href="http://www.heretheweb.com" data-send="false" data-layout="button_count" data-width="240" data-show-faces="false"></div>
<div class="fb-comments" data-href="http://www.heretheweb.com" data-num-posts="5" data-width="470"></div>
<body>
</html>
Run Code Online (Sandbox Code Playgroud)

星期一的第一个实现是在4个平台上成功,包括模拟器(iOS 4和iOS 5),iPhone 3G iOS4和iPhone 4 iOS 5.星期二,我一直在开发这个,最后我的自定义UIWebView工作没有问题前三个.但是在iPhone 4(iOS 5)上,Web视图一遍又一遍地重新加载相同的网页,导致评论框永远不会出现.该URL是这样的:

https://m.facebook.com/plugins/comments.php?channel_url=http%3A%2F%2Fstatic.ak.facebook.com%2Fconnect%2Fxd_arbiter.php%3Fversion%3D4%23cb%3Df28c738848%26origin%3Dhttp% 253A%252F%252Fwww.heretheweb.com%252Ff3fdf142e8%26domain%3Dwww.heretheweb.com%26relation%3Dparent.parent&HREF = HTTP%3A%2F%2Fwww.heretheweb.com&语言环境= EN_US&移动=真numposts = 5&SDK =乔伊&宽度= 470

我真的不知道我做错了什么,我已经清理了uiWebView委托方法,我已经检查了断点所有我可以覆盖的方法.没什么......网页在开头加载,然后循环尝试加载上面的URL ...

facebook ios4 ios ios-simulator ios5

6
推荐指数
2
解决办法
2204
查看次数

NSRoundBankers 没有按照 Apple 记录的那样工作

因此,根据 Apple 关于NSRoundBankers的文档:

四舍五入到最接近的可能返回值;当介于两种可能性之间时,返回最后一位为偶数的可能性。

虽然这适用于正数,但我没有得到负数的预期行为。这是我在设备和模拟器上执行的一段代码,两者都打印出完全相同的结果:

NSDecimalNumber *increment = [NSDecimalNumber decimalNumberWithMantissa:5 exponent:-2 isNegative:NO];
NSDecimalNumber *number = [NSDecimalNumber decimalNumberWithMantissa:10 exponent:-1 isNegative:YES];
NSDecimalNumberHandler *handler = [NSDecimalNumberHandler decimalNumberHandlerWithRoundingMode:NSRoundBankers scale:1 raiseOnExactness:NO raiseOnOverflow:NO raiseOnUnderflow:NO raiseOnDivideByZero:YES];
while ([number compare:@1] == NSOrderedAscending)
{
    NSLog(@";%@;%@", number, [number decimalNumberByRoundingAccordingToBehavior:handler]);
    number = [number decimalNumberByAdding:increment];
}
Run Code Online (Sandbox Code Playgroud)

对于负数,它不会返回最后一位为偶数的数字,它基本上是四舍五入。

例如,对于-0.85我应该得到-0.8,但我得到-0.9

难道我做错了什么?

左表显示了实际行为,红色标记了错误的四舍五入值。

右表显示了预期行为,绿色是正确的四舍五入值。

IOS 爪哇

objective-c nsdecimalnumber ios ios7 ios8

5
推荐指数
1
解决办法
311
查看次数

OpenGL,glDrawArrays和IOS,Bad Access?

我开始在iOS中使用OpenGL.我总是学会用OpenGL绘制东西glBegin(),glEnd()所以这对我来说是一种新的东西.

我想画一个简单的三角形.我可以很好地绘制一个白色三角形,我甚至可以使用绘制整个彩色三角形glColor.但每当我尝试使用下面的代码为每个顶点指定颜色EXC_BAD_ACCESS时,我会在绘制数组时得到一个颜色.我正在使用iOS 4.3模拟器.我究竟做错了什么?

- (void) render:(CADisplayLink*)displayLink {
    glClearColor(0, 104.0/255.0, 55.0/255.0, 1.0);
    glClear(GL_COLOR_BUFFER_BIT);

    glMatrixMode(GL_MODELVIEW);
    glLoadIdentity();

    GLfloat vertices [] = {0,0,0, 0,100,0, 100,0,0};
    GLfloat colours [] = {1.0,1.0,1.0, 1.0,1.0,1.0, 1.0,1.0,1.0};
    glEnableClientState(GL_VERTEX_ARRAY);
    glEnableClientState(GL_COLOR_ARRAY);
    glVertexPointer(3, GL_FLOAT, 0, vertices);
    glColorPointer(3, GL_FLOAT, 0, colours);
    glDrawArrays(GL_TRIANGLES, 0, 3);   <-- CRASHES HERE
    glDisableClientState(GL_VERTEX_ARRAY);
    glDisableClientState(GL_COLOR_ARRAY);

    [self.context presentRenderbuffer:GL_RENDERBUFFER];
}    
Run Code Online (Sandbox Code Playgroud)

xcode opengl-es objective-c ios

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

Android中的UIPopoverViewController类元素

我现在将iPad应用程序移植到Android平板电脑,它使用了很多UIPopoverViewController.我尝试创建一个"布局",以全屏显示前面的小内容视图,它运行良好,但我想知道是否有这种功能的本机元素.谢谢你的时间.

android ipad uipopovercontroller uipopover android-4.0-ice-cream-sandwich

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