小编Dou*_*ith的帖子

为什么52.0作为一个浮点数作为一个int转换为51?

我在Objective-C中有以下代码,将秒数(int)转换为"x小时y分钟z秒"形式的日期字符串.8812秒应该返回2小时26分52秒,但它返回2小时26分51秒.

这是麻烦的线:

float timeInSeconds = (60 * ((((seconds / 3600.0) - (seconds / 3600)) * 60.0) - (int)(((seconds / 3600.0) - (seconds / 3600)) * 60.0)));
Run Code Online (Sandbox Code Playgroud)

如果我这样,结果为52.0 NSLog.但是,如果我这样做:

int timeInSeconds = (int)(60 * ((((seconds / 3600.0) - (seconds / 3600)) * 60.0) - (int)(((seconds / 3600.0) - (seconds / 3600)) * 60.0)));
Run Code Online (Sandbox Code Playgroud)

我得到51 NSLog.为什么呢?

floating-point objective-c ios

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

当我重新加载应用程序时,为什么Core Data中的bool值会发生变化?

当我刷UITableViewCell(其对象来自Core Data)时,它将单元格的对象设置为"read"(代码:isRead变为YES).

这是这样完成的:

- (void)swipedToMarkCellRead:(Article *)article {
     if ([article.isRead isEqualToNumber:@YES]) {
          article.isRead = @NO;
     }
     else {
          article.isRead = @YES;
     }

     NSManagedObjectContext *context = self.managedObjectContext;
     NSError *error;
     [context save:&error];
}
Run Code Online (Sandbox Code Playgroud)

但是,下次应用程序加载文章时,将返回未读状态(或isRead等于NO).我isRead在Core Data中创建了一个瞬态属性,所以无论什么时候访问它我都可以做它,我操纵它:

- (NSNumber *)isRead {
    [self willAccessValueForKey:@"isRead"];
    NSNumber *isRead = [self primitiveValueForKey:@"isRead"];
    [self didAccessValueForKey:@"isRead"];

    // If at 100% progress (finished) or it's already marked as read
    if ([self.progress intValue] >= 1 || [isRead boolValue]) {
        isRead = @YES;
    } …
Run Code Online (Sandbox Code Playgroud)

core-data objective-c ios

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

子类化UIPageViewController,但是当我将[[alloc] init]的结果分配给self时,我收到警告.为什么?

我有一个叫做ImageGalleryPageViewController子类的类UIPageViewController.在我的init方法中,我调用:

self = [[UIPageViewController alloc] initWithTransitionStyle:UIPageViewControllerTransitionStyleScroll navigationOrientation:UIPageViewControllerNavigationOrientationHorizontal options:nil];
Run Code Online (Sandbox Code Playgroud)

但我得到这个警告:

从'UIPageViewController*'分配给'ImageGalleryPageViewController*'的指针类型不兼容

我应该只是投出结果[[alloc] init]吗?这看起来很奇怪,难道不应该认识到我是一个子类而不是抱怨吗?

cocoa-touch objective-c uiviewcontroller ios uipageviewcontroller

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

为了找到结束字符,这段C代码做了什么?

char *start = str;
char *end = start + strlen(str) - 1; /* -1 for \0 */
char temp;
Run Code Online (Sandbox Code Playgroud)

如何找到字符串的结尾?如果字符串是giraffe,start持有该字符串,那么你有:

char *end = "giraffe" + 7 - 1;

这怎么会给你长颈鹿的最后一个字符?(e)

c

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

NSUInteger枚举属性应该是指针还是只是原语?

我有以下内容enum:

typedef NS_ENUM(NSUInteger, GraphType) {
    GraphTypeRawData,
    GraphTypeFilteredData
};
Run Code Online (Sandbox Code Playgroud)

编译器在没有警告的情况下接受我将其声明为属性原语或指针:

@property (nonatomic, assign) GraphType graphType;
Run Code Online (Sandbox Code Playgroud)

VS

@property (nonatomic, assign) GraphType *graphType;
Run Code Online (Sandbox Code Playgroud)

哪个是正确的?(为什么?)

enums pointers objective-c ios

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

在Swift中迭代AnyObject数组的最佳实践是什么?

说我有一个AnyObject我收到的阵列,但我很肯定他们是String,例如.

我试过了

for string in AnyObjectArray { ... }
Run Code Online (Sandbox Code Playgroud)

for string as String in AnyObjectArray { ... }
Run Code Online (Sandbox Code Playgroud)

两者都给我错误.我最好怎么做?

swift

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

为什么我不能让我的新UIWindow显示在状态栏的顶部?

我只是想UIWindow暂时将我置于状态栏上方以达到警示目的.

代码很简单:

    let newwindow = UIWindow(frame: UIScreen.mainScreen().bounds)
    newwindow.hidden = false
    newwindow.backgroundColor = UIColor.greenColor()
    newwindow.windowLevel = UIWindowLevelStatusBar + 1.0
    newwindow.makeKeyAndVisible()
    newwindow.hidden = false
Run Code Online (Sandbox Code Playgroud)

但是,当我把它放在viewDidAppear我的根视图控制器中时,我从未看到过这个窗口.

我究竟做错了什么?

cocoa-touch uiwindow ios swift ios9

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

这一系列的Golang究竟做了什么?为什么指针?为什么0 param?

我在Go上关注PostgreSQL的这个教程,它有以下几行:

  bks := make([]*Book, 0)
Run Code Online (Sandbox Code Playgroud)

这是更大的代码块的一部分:

  bks := make([]*Book, 0)
  for rows.Next() {
    bk := new(Book)
    err := rows.Scan(&bk.isbn, &bk.title, &bk.author, &bk.price)
    if err != nil {
      log.Fatal(err)
    }
    bks = append(bks, bk)
  }
Run Code Online (Sandbox Code Playgroud)

为什么作者传入0 make?我明白这是长度,但为什么长度为0?为什么它是一个指针数组而不是一系列的书?你不想要一个切片,所以你可以任意插入书籍吗?

postgresql go

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

为什么当我点击键入我的文本字段时,我的"否"单选按钮会被点击?

http://web.cs.dal.ca/~selig/serverside/assignment1/

在这里,在最底部的单选按钮上查看它.

这是我的jQuery(非常简单):

$(document).ready(function() {

    // Reveals the email address field when option is selected
    $('#yes-radio').click(function() {
        $('.email-field').show(200);
    });
    $('#no-radio').click(function() {
        $('.email-field').hide(200);
    });
 });
Run Code Online (Sandbox Code Playgroud)

任何人都可以告诉我为什么这样做?

html css php jquery

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

NSUserDefaults中NSMutableArray结构的错误是什么?"尝试插入非属性列表对象"

我很只是想保存NSMutableArray/ NSArraystructS IN NSUserDefaults:

typedef struct {
    int key;
} provision;

provision p1;
p1.key = 4;
NSValue *p1Value = [NSValue value:&p1 withObjCType:@encode(provision)];

provision p2;
p2.key = 5;
NSValue *p2Value = [NSValue value:&p2 withObjCType:@encode(provision)];

NSMutableArray *provisions = [[NSMutableArray alloc] init];
[provisions addObject:p1Value];
[provisions addObject:p2Value];

[[NSUserDefaults standardUserDefaults] setObject:provisions forKey:@"Provisions"];
Run Code Online (Sandbox Code Playgroud)

我按照指南这里存储了所有的结构NSValue.但是最后一行会导致运行时错误:

*因未捕获的异常'NSInvalidArgumentException'而终止应用程序,原因:'* - [NSUserDefaults setObject:forKey:]:尝试为关键项目插入非属性列表对象("<04000000>","<05000000>")

我究竟做错了什么?

c struct objective-c nsuserdefaults ios

-2
推荐指数
1
解决办法
497
查看次数

使用jQuery,我可以这样做,所以提交按钮不会"工作",除非填写必填字段

我希望用户能够单击提交,但如果没有填写正确的字段,则不会通过,并且会出现错误.这可能吗?我知道如何做错误部分,但阻塞提交部分很烦人.

php jquery

-3
推荐指数
1
解决办法
245
查看次数