小编Tom*_*ing的帖子

用户拒绝初始提示时Apple推送通知注册回调?

当我第一次打电话registerForRemoteNotificationTypes给我UIApplication时,用户会收到有关允许此应用程序向其发送推送通知的系统提示.如果他们说是,那么didRegisterForRemoteNotificationsWithDeviceToken我的应用代表就会被调用.如果他们说不,didFailToRegisterForRemoteNotificationsWithError不会被召唤.一旦他们对初始提示拒绝,我在将来尝试重新注册时就不会收到任何回调.

这是标准行为吗?了解何时拒绝该提示的最佳方式是什么? Apple的文档没有说明这种情况有用.

apple-push-notifications ios

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

在iOS上删除包含大量文件的文件夹的性能

假设我的iOS应用程序的数据目录中有一个文件夹,其中有数千个小文件。(通过[NSFileManager removeItemAtPath])删除此文件夹会花费很短的时间。但是在OS X上,删除具有相同内容的文件夹非常快。似乎只是从文件系统取消链接文件夹。那么,为什么iOS需要这么长时间?有什么不同?

编辑:在iPad 3上,删除3个文件夹(每个文件夹有5,000至9,000个文件)大约需要35秒。在较旧的Retina MBP上运行的模拟器上,大约需要1.5秒。

performance nsfilemanager delete-file ios

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

持续时间和UISpringTimingParameters如何在UIViewPropertyAnimator中交互?

iOS 10有几个新的动画类.值得注意的包括UIViewPropertyAnimatorUISpringTimingParameters.可以使用持续时间和定时参数创建属性动画制作者- 定时参数可以是弹簧参数的实例.

过去关于iOS中弹簧动画API的一个常见抱怨是它们需要持续时间 - 真实弹簧动画的持续时间应该由弹簧属性决定,如阻尼比和初始速度.UISpringTimingParameters可以使用这些参数创建.

我的问题:UIViewPropertyAnimator当它的时间曲线是弹簧时,仍然使用你给它的持续时间吗?或者它会丢弃持续时间并使用弹簧参数来计算它?对于Apple来说,这将是一个奇怪的API决定,但是如此接近为设计师提供他们想要的东西(真正的弹簧)并且还没有完全到达那里(强制指定持续时间)似乎也很奇怪.

animation ios uiviewpropertyanimator

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

从Fiddler到WCF的POST成功但传递空值

在WCF上关注了这个视频系列并让演示工作.它涉及构建管理学生评估表单的WCF服务,并实现CRUD操作以对这些评估列表进行操作.我根据本指南稍微修改了我的代码,因此它会将JSON结果返回给浏览器或Fiddler请求.我的目标是通过在Fiddler中构建我自己的请求来弄清楚如何使用该服务,然后使用该格式从移动设备上的应用程序中使用该服务.

我在使用SubmitEvalFiddler 的方法(保存评估)时遇到了麻烦.调用有效,但所有字段Eval都为null(或默认),除了Id在服务本身中设置.

这是我的Eval声明(根据此问题使用属性而不是字段):

[DataContract]
public class Eval //Models an evaluation
{
    [DataMember]
    public string Id { get; set; }

    [DataMember]
    public string Submitter { get; set; }

    [DataMember]
    public string Comment { get; set; }

    [DataMember]
    public DateTime TimeSubmitted { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

以下是相关部分IEvalService:

[ServiceContract]
public interface IEvalService
{
 ...
   [OperationContract]
    [WebInvoke(RequestFormat=WebMessageFormat.Json,
       ResponseFormat=WebMessageFormat.Json, UriTemplate = "eval")]
    void SubmitEval(Eval eval);
} …
Run Code Online (Sandbox Code Playgroud)

wcf json fiddler

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

核心数据多线程:代码示例

我的多线程Core Data启用应用程序一直存在问题,我想我应该仔细研究一下我在做什么以及如何做.如果以下情况有效,请告知我们.

我有一个DataManager处理Core Data东西的单例类.它有一个属性managedObjectContext,为每个线程返回不同的MOC.因此,给定NSMutableDictionary *_threadContextDict(字符串线程名称到上下文)和NSMutableDictionary *_threadDict(字符串线程名称到线程),它看起来像这样:

-(NSManagedObjectContext *)managedObjectContext
{
  if ([NSThread currentThread] == [NSThread mainThread])
  {
    MyAppDelegate *delegate = [[UIApplication sharedApplication] delegate];
    return delegate.managedObjectContext; //MOC created in delegate code on main thread
  }
  else
  {
    NSString *thisThread = [[NSThread currentThread] description];
    {
      if ([_threadContextDict objectForKey:thisThread] != nil)
      {
        return [_threadContextDict objectForKey:thisThread];
      }
      else
      {
        NSManagedObjectContext *context = [[NSManagedObjectContext alloc]init];
        MyAppDelegate *delegate = [[UIApplication sharedApplication] delegate];
        [context setPersistentStoreCoordinator:delegate.persistentStoreCoordinator];
        [_threadContextDict setObject:context forKey:thisThread]; …
Run Code Online (Sandbox Code Playgroud)

multithreading core-data objective-c grand-central-dispatch nsmanagedobjectcontext

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

如何在不绘制自己的情况下更改UIPopoverPresentationController的箭头颜色

我想更改UIPopoverPresentationController用于指向其源的箭头的颜色.我能看到这样做的唯一方法是自己子类化UIPopoverBackgroundView并编写drawRect和绘制popover边框和箭头.这是一种痛苦,因为默认的弹出窗口中有一些细节,比如一切都是圆角.而且我希望尽可能让它在平台上感受到家的感觉.

我是否真的必须绘制自己的弹出箭头才能改变箭头的颜色?

更新:我试过设置backgroundColorUIPopoverPresentationController,但它似乎改变无处不在的箭头可能绘制颜色.我以前看过它的工作原理,但我无法确定是什么让它起作用.查看将颜色设置为红色的屏幕截图.蓝色是弹出窗口中导航控制器的内容.它应该指向按钮.

Popover背景颜色问题

uipopovercontroller ios uipopoverbackgroundview

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

在 Swift 中委托可失败初始化器的正确方法是什么?

假设我有这门课:

class EvenNumber {
  var num: Int
  var stringValue: String

  init?(n: Int) {
    guard n % 2 == 0 else { return nil }
    self.num = n
  }

  init?(str: String) {
    guard let n = Int(str) else { return nil }
    self.init(n: n)
    //set stringValue?
  }
}
Run Code Online (Sandbox Code Playgroud)

init需要一个字符串的 中,我将委托回需要一个 的那个Int。我如何知道它是否成功以便我可以继续初始化?这里正确的语法/常见模式是什么?

swift

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

ASP.NET中GridView的内部网格线

我有一个GridViewASP.NET 2.0,我想只显示内部网格线.到目前为止,这是我的标记和CSS:

<asp:GridView ID="myGrid" runat="server" GridLines="None" CssClass="myDataGridClass">
    <Columns>
        ...columns here...
    </Columns>
</asp:GridView>
Run Code Online (Sandbox Code Playgroud)

CSS:

.myDataGridClass>tbody>tr>td /* Apply border to all cells */
{
   border:1px solid black;
}

.myDataGridClass>tbody>tr>th /* Apply border to headers */
{
   border:1px solid black;
}

.myDataGridClass>tbody>tr>td:last-child /* Remove right-side border */
{
   border-right-width:0;
}

.myDataGridClass>tbody>tr>td:first-child /* Remove left-side border */
{
   border-left-width:0;
}

.myDataGridClass>tbody>tr>th:last-child /* Remove right-side header border */
{
   border-right-width:0;
}

.myDataGridClass>tbody>tr>th:first-child /* Remove left-side header border */
{
   border-left-width:0;
}

.myDataGridClass>tbody>tr:last-child>td /* …
Run Code Online (Sandbox Code Playgroud)

css asp.net internet-explorer cross-browser

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

如何在布局转换期间为UICollectionViewCells的边框宽度/颜色设置动画?

我有一个UICollectionView使用自定义子类UICollectionViewFlowLayout.这反过来使用UICollectionViewLayoutAttributes具有属性的自定义子类,这些属性会影响单元格上的边框颜色和粗细.在我的集合视图上执行动画布局更改时,如何在动画中包含这些内容?

实施细节:

说,在MyLayoutAttributes我有一个枚举属性LayoutType与价值TypeBigTypeSmall.我有一个MyCell带有UILabel子视图的单元格类.在那个单元类中,我做了这样的事情:

-(void)applyLayoutAttributes:(UICollectionViewLayoutAttributes *)attr
{
  [super applyLayoutAttributes:attr];
  MyLayoutAttributes *myAttr = (MyLayoutAttributes *)attr;
  if (myAttr.layoutType == TypeSmall)
    self.layer.borderWidth = 1; //there's already a color set
  else
    self.layer.borderWidth = 0;
}
Run Code Online (Sandbox Code Playgroud)

当集合视图的布局更改(使用[collectionView setCollectionViewLayout:animated:])时,单元格大小和位置更改将按预期进行动画处理,但边框不会.

animation ios uicollectionview

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

AppleWatch界面的一部分可以独立滚动吗?

我有一个WatchKit应用程序,包含一个标签和几个按钮.标签的内容可能足够长以导致滚动,但我希望按钮保持在屏幕上.是否可以将标签内容滚动而不是整个屏幕?

我已经尝试将标签嵌入到a中WKInterfaceGroup,但标签的高度受限于组的高度.

scroll ios watchkit wkinterfacegroup

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

UITableViewCell setSelected:动画时没有效果的动画

我在iPad上有一个带有三个UITableViews的视图控制器.他们都拥有dataSourcedelegate设置了VC.在tableView:didSelectRowAtIndexPath:VC中,我这样做:

UITableViewCell *cell = [tableView cellForRowAtIndexPath:indexPath];
NSLog(@"Cell: %@", cell);
[cell setSelected:NO animated:YES];
Run Code Online (Sandbox Code Playgroud)

它记录正确的单元格(非零),但单元格始终保持选中状态,直到选中同一个表格中的另一个单元格.如果我通过NOanimated,它工作正常.这是怎么回事?为什么细胞不能激活其取消选择?

uitableview ipad ios

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

NSString哈希冲突不会搞乱NSDictionary

在调试器中运行此代码并在之后停止(我在Xcode 5.0.1中的iOS 7模拟器中).

NSString *nsStr = @"/Users/123456789012/Library/Application Support/iPhone Simulator/7.0/Applications/94F31827-6DAD-4BD5-AC91-B215176265E1/Documents/libraries/shared/17517_abPub/OEBPS/indexes/Index.sqlite";
NSString *nsStr2 = @"/Users/123456789012/Library/Application Support/iPhone Simulator/7.0/Applications/94F31827-6DAD-4BD5-AC91-B215176265E1/Documents/libraries/shared/16583_abPub/OEBPS/indexes/Index.sqlite";
NSUInteger form1 = [nsStr hash];
NSUInteger form2 = [nsStr2 hash];

NSMutableDictionary *dict = [[[NSMutableDictionary alloc]init]autorelease];
[dict setObject:@"foo" forKey:nsStr];

id foobar = [dict objectForKey:nsStr2];
Run Code Online (Sandbox Code Playgroud)

请注意form1并且form2是相同的.我们有哈希冲突.还要注意的foobarnil.哈希冲突不会引起混乱NSDictionary.为什么是这样?有谁知道Apple正在做什么来在他们的字典中克服哈希冲突/这有什么好的策略?

编辑:作为参考,这里有更多关于NSString散列的细节.显然,该方法只查看第一个,中间和最后32个字符; 字符串中的任何其他内容都无关紧要.

hash objective-c nsdictionary ios

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