小编Bot*_*Bot的帖子

从UITableView中删除没有行的部分

如果该部分没有行,我想从UITableView中删除节标题.

我正在使用UILocalizedIndexedCollation我的节标题.所以当我创建标题时,我不一定知道哪些部分会有内容.

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
    // Return the number of sections.
    //return [customerSections count];
    if (tableView == self.searchDisplayController.searchResultsTableView) {
        return 1;
    }
    return [[[UILocalizedIndexedCollation currentCollation] sectionTitles] count];
}

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
    //NSLog(@"Section: %i", section);
    if (tableView == self.searchDisplayController.searchResultsTableView) {
        return self.filteredCustomers.count;
    } else {
        return [[self.customerData objectAtIndex:section] count];
    }
}

- (NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section {
    // The header for the section is the region name -- get this from the region at the section …
Run Code Online (Sandbox Code Playgroud)

objective-c uitableview ios5

8
推荐指数
2
解决办法
4424
查看次数

Array_splice充当array_slice?

我有问题确切了解array_splice和array_slice的作用.据我所知,array_splice应该返回一个数组,取出某些元素后,array_slice应该检索一个数组的切片.

php.net/array_splice手册中的以下代码显示此代码应该有效.

$input = array("red", "green", "blue", "yellow");
var_dump(array_splice($input, 2));
// $input is now array("red", "green")

$input = array("red", "green", "blue", "yellow");
var_dump(array_slice($input, 2));
// $input is now array("red", "green")
Run Code Online (Sandbox Code Playgroud)

但是,当我在php 5.3.4和5.1.6上运行此代码时,结果是

array
  0 => string 'blue' (length=4)
  1 => string 'yellow' (length=6)
array
  0 => string 'blue' (length=4)
  1 => string 'yellow' (length=6)
Run Code Online (Sandbox Code Playgroud)

我误解了手册还是这个错误?在我看来,array_splice就像array_slice一样

它似乎也不做替换

$input = array("red", "green", "blue", "yellow");
var_dump(array_splice($input, 2, 2, array('foo')));
Run Code Online (Sandbox Code Playgroud)

输出

array
  0 => string 'blue' (length=4)
  1 => string 'yellow' (length=6)
Run Code Online (Sandbox Code Playgroud)

有人可以确认这是一个错误,如果没有解释这应该如何工作? …

php arrays

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

获取所有UITextField的数组

如何在视图控制器中获取所有UITextField的数组?

编辑:我不想将文本字段硬编码为数组.我实际上想要从该委托的调用者的所有字段的委托中获取列表.

iphone objective-c ios5

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

我应该在addTarget之前删除目标

UIControl - 更改分配的选择器:addTarget&removeTarget

您应该在更改为另一个目标之前删除目标的状态.但是如果我在cellForRowAtIndexPath中设置目标呢?我是否应该在再次添加目标之前删除它,即使它没有改变?如果我不删除它或它只是覆盖它,它会调用该方法两次吗?

[cell.cellSwitch removeTarget:self action:@selector(notifySwitchChanged:) forControlEvents:UIControlEventValueChanged];
[cell.cellSwitch addTarget:self action:@selector(notifySwitchChanged:) forControlEvents:UIControlEventValueChanged];
Run Code Online (Sandbox Code Playgroud)

objective-c ios5

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

IOS分配的对象稍后在此执行路径中不会引用保留计数+1

在我的appDelegate.h文件中,我这样做:

CLLocationManager       *locationManager;
Run Code Online (Sandbox Code Playgroud)

@property (nonatomic, retain) CLLocationManager *locationManager;
Run Code Online (Sandbox Code Playgroud)

然后在.m文件中:

...

@synthesize locationManager;
...
if ([CLLocationManager locationServicesEnabled])
{

    [myGizmoClass setLocationManagerDisabled:FALSE];

    self.locationManager = [[CLLocationManager alloc] init];

    self.locationManager.delegate = self;

    [self.locationManager setDesiredAccuracy:kCLLocationAccuracyBest];

    [self.locationManager setDistanceFilter:kCLDistanceFilterNone];


    [self.locationManager startUpdatingLocation];

...
Run Code Online (Sandbox Code Playgroud)

然而,我在XCode 4.5中得到以下内容(见附图)

泄漏的对象:此代码执行路径中未引用已分配的对象

(对象泄露:此代码执行路径中未引用已分配的对象)

有没有搞错?我在那条线后面引用它.

我没有看到这个问题.PS:没有崩溃,或任何事情.让我说清楚.这按原样运作的.我只是讨厌这个错误.我很确定我错过了一些愚蠢的东西.有人可以帮忙吗?

请不要发布任何关于"你不必再做@property"的内容等等.这段代码是为xcode 3.5-4~ish而写的,我更喜欢具体,因为我不想在两者之间来回翻转XCode 4.5允许的简写和旧项目需要的简写(并且仍然有源代码).所以我仍然使用.h文件中的完整定义.我认为编程风格的主要变化将伴随着应用程序的下一次重大更新.(感谢您的理解)

sdk memory-leaks instance-variables self ios

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

说明FB连接身份验证的工作原理

我正在开发一个允许用户创建帐户的网站.然后,网站开发人员将能够将该身份验证系统集成到他们的站点中,并允许用户使用我的站点登录凭据登录.我想这样做类似于facebook连接的工作方式,这样用户网站不需要重定向到我的网站登录,然后我们回调他们来自的页面.

我知道facebook使用cookies,但我不确定他们是如何检查他们是否已登录.

我注意到的事情:

  • 如果登录到facebook.com然后您导航到具有Facebook Connect的userssite.com,它将显示您已登录.
  • 如果您退出userssite.com,它也会让您退出Facebook.
  • 如果您从facebook.com注销并登录到userssite1.com然后导航到userssite2.com,它也会让您登录该站点.

因此,看起来他们正在使用跨域cookie或其他东西,但我不知道如何做到这一点.

知道Facebook Connect如何正常工作的人可以解释我如何在我自己的系统中实现这一功能吗?

authentication cas facebook single-sign-on

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

使用ViewPager,PagerAdapter和AsyncTask的活动会导致空白视图

我正在尝试构建一个将作为日历日视图的活动.当用户向左或向右滑动时,它们将在明天或昨天进入,依此类推.

我决定使用ViewPager/PagerAdapter处理视图并控制几天的分页.

作为设置日视图的一部分,应用程序将转到我的API并请求当天的任何约会.约会将在当天返回并显示.为了从API中检索数据,我使用的是AsyncTask.所以基本上,instantiateItem()调用API并设置空listView.然后BroadcastReceiver捕获响应,解析数据并显示它.

我遇到的问题是显示的第一个视图始终为空白. 左侧或右侧的视图已填充,如果我在任一方向上移动两个位置,足以使原始视图被销毁,则返回原始视图,它具有数据.为什么?如何在不必移动2次滑动的情况下获取第一个要填充的视图?

这是我的活动.我目前还没有解析从API返回的数据,只是在平均时间内使用字符串列表进行模拟.

public class MyPagerActivity extends Activity {

    private ViewPager myPager;
    private static int viewCount = 1000;
    private Context ctx;
    private MyPagerAdapter myAdapter;

    private static final String tag = "MyPagerActivity";

    private static final String apiAction = "getAppointmentsForDate"; 
    private static final String apiUri = "https://myAPI.com/api.php";
    private static final String resource = "appointments";
    private static final String action = "getappointmentsfordate";
    private static final String date = "20120124";
    private ProgressDialog progress;
    private SharedPreferences loginPreferences; …
Run Code Online (Sandbox Code Playgroud)

android android-asynctask android-viewpager

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

NSSortDescriptor没有正确排序整数

我想按日期排序,然后开始时间.开始时间是从午夜开始的几分钟.因此,如果开始时间<100,则无法正确排序.

- (NSFetchedResultsController *)fetchedResultsController {

    if (fetchedResultsController != nil) {
        return fetchedResultsController;
    }

    /*
     Set up the fetched results controller.
     */
    // Create the fetch request for the entity.
    NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init];
    // Edit the entity name as appropriate.
    NSEntityDescription *entity = [NSEntityDescription entityForName:@"Appointments" inManagedObjectContext:[[DataManager sharedInstance] managedObjectContext]];
    [fetchRequest setEntity:entity];
    [fetchRequest setIncludesPendingChanges:YES];

    // Set the batch size to a suitable number.
    //[fetchRequest setFetchBatchSize:20];

    // Sort using the date / then time property.
    NSSortDescriptor *sortDescriptorDate = [[NSSortDescriptor alloc] initWithKey:@"date" …
Run Code Online (Sandbox Code Playgroud)

objective-c nssortdescriptor nsfetchedresultscontroller ios5

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

UINavBar似乎在其他按钮上有一个不可见的图层

我创建了一个带有像facebook这样的侧边菜单的应用程序.我有一个根视图控制器,它自己添加一个视图,然后当用户按下"菜单"按钮时,它将滑动视图,以便您可以看到菜单.

我的问题是,当视图首次加载时,看起来UINavBar大约比它应该低20个像素左右.(下面的图像看起来有点偏离中心,因为它是一个模态水平翻转)

在此输入图像描述

然后,当模态转换完成时,它会自动调整自身并向上移动到该状态栏下方.

在此输入图像描述

以下是按"菜单"按钮时发生的情况的屏幕截图.它将顶视图滑动到右侧

在此输入图像描述

正如您在上面的图像中看到的那样,我将左箭头和右箭头框架背景设置为红色,这样我就可以看到可点击/可点击区域的位置.我有另一张图像,我在上面画了一条蓝线,如果我点击蓝线或上面那么它就不会触发右箭头.如果我点击左侧相同的一般区域,菜单按钮将会触发.我能够在模拟器和移动设备上重现这一点(所以我不会用手指按钮).

在此输入图像描述

在我看来,由于导航栏的加载低于iPhone应该认为它仍处于该位置,因此当我在UIButton框架内单击时,它仍然触发菜单而不触发箭头选择器.如果我在箭头中间直接点击,它会触发箭头选择器,但只是图像外的一点点,它不会触发箭头选择器.

这是我的RootViewControllerviewDidLoad

AppointmentViewController *appointmentViewController = [self.storyboard instantiateViewControllerWithIdentifier:@"AppointmentViewController"];
NSLog(@"B: %@",NSStringFromCGRect(appointmentViewController.view.frame));
self.navController = [[UINavigationController alloc] initWithRootViewController:appointmentViewController];
NSLog(@"B2: %@",NSStringFromCGRect(appointmentViewController.view.frame));
NSLog(@"Nav Bounds: %@",NSStringFromCGRect(self.navController.view.frame));
NSLog(@"Bounds: %@",NSStringFromCGRect(self.contentView.bounds));
self.navController.view.frame = self.contentView.bounds;
NSLog(@"Nav Bounds2: %@",NSStringFromCGRect(self.navController.view.frame));
[self addShadowToMenu];
[self.contentView addSubview:self.navController.view];
Run Code Online (Sandbox Code Playgroud)

RootViewController日志

2012-04-30 12:24:44.533 My-App[19929:fb03] B: {{0, 20}, {320, 460}}
2012-04-30 12:24:44.535 My-App[19929:fb03] B2: {{0, 20}, {320, 460}}
2012-04-30 12:24:44.535 My-App[19929:fb03] Nav Bounds: {{0, 0}, {320, 480}}
2012-04-30 12:24:44.535 My-App[19929:fb03] Bounds: {{0, 0}, {320, 460}}
2012-04-30 12:24:44.535 My-App[19929:fb03] Nav Bounds2: {{0, …
Run Code Online (Sandbox Code Playgroud)

objective-c uinavigationbar uinavigationcontroller ios5

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

在编辑期间添加活动管理员评论

我正在尝试添加ActiveAdmin::Comment到我的Member编辑中.我已经能够通过添加ARB和部分来做到这一点

#_comments.html.arb
active_admin_comments_for(resource)
Run Code Online (Sandbox Code Playgroud)

这显示正常,但当我输入文本然后按添加注释按钮,实际上没有添加注释,它只是返回到显示屏幕.

我想要做的是在那里得到评论,但没有添加评论按钮.我想按Update Member按钮添加评论.这样,对成员所做的任何更改都将与注释一起保存.

有没有办法让它添加Update Member按钮添加注释?

编辑:

我也试过在我的模型中添加一个关系

#model
has_many :comments, as: :resource, dependent: :destroy, class_name: 'ActiveAdmin::Comment'
accepts_nested_attributes_for :comments, reject_if: :reject_comment


# members.rb - form
f.inputs "Add A Comment" do
  f.semantic_fields_for :comments, ActiveAdmin::Comment.new do |c|
    c.inputs :class => "" do
      c.input :resource_id, :input_html => { :value => "1" }, as: :hidden
      c.input :resource_type, :input_html => { :value => "Member" }, as: :hidden
      c.input :namespace, :input_html => { :value => :admin …
Run Code Online (Sandbox Code Playgroud)

activeadmin ruby-on-rails-4

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