草庐IT

php - xcode ios 将 nsarray 对象拆分为两个单独的对象

coder 2023-10-21 原文

您好,我正在创建 mysql 数据库,用户可以在其中搜索其他用户,搜索时我希望它返回用户“id”和“name”,因为可能存在具有相同名称的用户,所以我包含了 id。这是我的 .php

编辑:因为我没有得到我想要的答案,我认为我说得不够清楚,现在我正在考虑以另一种方式尝试。假设 ID 将在索引 0 和 NAME 中 在索引 1 中,依此类推。请参阅我的 php 编辑评论。

   $result = mysql_query("SELECT `id`,`name` FROM `user` WHERE `name` LIKE '$search%'");


    mysql_close($con);

    $numrows = mysql_num_rows($result);

    if ($numrows!=0){
     while ($row = mysql_fetch_assoc ($result)){

  $id = $row['id'];

  $name = $row['name'];

            echo ("$id,$name///");

以上是我的第一次尝试,注意:编辑是一个例子,我想的是将 id 和名称分开,然后在 Xcode 中将它们再次分离到两个不同的数组中,假设所有 ID 都在 ID 数组中每次“跳过名称”时有点跳过一个索引,名称数组中的 NAMES 再次跳过 ID。

    // EDIT: echo "%id///";
    // EDIT: echo "%name///";


  }

 }else{
   echo "fail";   
 }

然后在 Xcode 中

     - (void)searchBar:(UISearchBar *)searchBar textDidChange:(NSString *)searchText
   {
   if ([searchUsers.text length] != 0) {

   NSString *FindURL = [NSString stringWithFormat:@"http://localhost/search.php?search=%@",searchUsers.text];
    // to execute php code
    NSData  *URLData = [NSData dataWithContentsOfURL:[NSURL URLWithString:FindURL]];

    // to receive the returend value

    NSString *DataResult = [[NSString alloc] initWithData:URLData encoding:NSUTF8StringEncoding];


    NSArray *FriendsArray = [DataResult componentsSeparatedByString:@"///"];



    userlist = [[NSMutableArray alloc] initWithArray:FriendsArray];
    //[self searchDidSearch];
    [self.tableView reloadData];
   }

   }

结果类似于 "1,somename""2,somename"等等。我想要的是拆分对象,以便 NAME 将出现在 tableviewcell 标题中,ID 出现在 tableviewcell 副标题中,我想将其应用于每一行。

有没有更简单的方法,还是我做错了什么?

最佳答案

您可以尝试使 PHP 输出看起来更像 NSDictionary 例如:

{      
  {
     "id" = 1;
     "name" = name1;
  },
   {
      "id" = 1;
      "name" = name2;
   },
}

然后您可以像这样访问“名称”的值(通过使用 fast enumeration 创建名称数组):

    NSMutableArray *namesArray = [[NSMutableArray alloc]init];
      for(NSDictionary *dict in dataArray) //dataArray NSArray of data from PHP output
      { 
          [result addObject:[dict objectForKey:@"name"]];
      }

然后在 tableViewCell 副标题中显示名称,代码如下(在 cellForRowAtIndexPath 方法中):

cell.textLabel.text = [NSString stringWithFormat:@"%@",[result objectAtIndex:indexpathRow]];

这不是最好的方法,但我认为您将来使用这样的数组会更容易。编码愉快! :)

关于php - xcode ios 将 nsarray 对象拆分为两个单独的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16071099/

有关php - xcode ios 将 nsarray 对象拆分为两个单独的对象的更多相关文章

  1. ruby - 如何从 ruby​​ 中的字符串运行任意对象方法? - 2

    总的来说,我对ruby​​还比较陌生,我正在为我正在创建的对象编写一些rspec测试用例。许多测试用例都非常基础,我只是想确保正确填充和返回值。我想知道是否有办法使用循环结构来执行此操作。不必为我要测试的每个方法都设置一个assertEquals。例如:describeitem,"TestingtheItem"doit"willhaveanullvaluetostart"doitem=Item.new#HereIcoulddotheitem.name.shouldbe_nil#thenIcoulddoitem.category.shouldbe_nilendend但我想要一些方法来使用

  2. ruby-on-rails - 按天对 Mongoid 对象进行分组 - 2

    在控制台中反复尝试之后,我想到了这种方法,可以按发生日期对类似activerecord的(Mongoid)对象进行分组。我不确定这是完成此任务的最佳方法,但它确实有效。有没有人有更好的建议,或者这是一个很好的方法?#eventsisanarrayofactiverecord-likeobjectsthatincludeatimeattributeevents.map{|event|#converteventsarrayintoanarrayofhasheswiththedayofthemonthandtheevent{:number=>event.time.day,:event=>ev

  3. ruby - 如何以所有可能的方式将字符串拆分为长度最多为 3 的连续子字符串? - 2

    我试图获取一个长度在1到10之间的字符串,并输出将字符串分解为大小为1、2或3的连续子字符串的所有可能方式。例如:输入:123456将整数分割成单个字符,然后继续查找组合。该代码将返回以下所有数组。[1,2,3,4,5,6][12,3,4,5,6][1,23,4,5,6][1,2,34,5,6][1,2,3,45,6][1,2,3,4,56][12,34,5,6][12,3,45,6][12,3,4,56][1,23,45,6][1,2,34,56][1,23,4,56][12,34,56][123,4,5,6][1,234,5,6][1,2,345,6][1,2,3,456][123

  4. ruby-on-rails - 如何在 ruby​​ 中使用两个参数异步运行 exe? - 2

    exe应该在我打开页面时运行。异步进程需要运行。有什么方法可以在ruby​​中使用两个参数异步运行exe吗?我已经尝试过ruby​​命令-system()、exec()但它正在等待过程完成。我需要用参数启动exe,无需等待进程完成是否有任何ruby​​gems会支持我的问题? 最佳答案 您可以使用Process.spawn和Process.wait2:pid=Process.spawn'your.exe','--option'#Later...pid,status=Process.wait2pid您的程序将作为解释器的子进程执行。除

  5. ruby-on-rails - 如何验证非模型(甚至非对象)字段 - 2

    我有一个表单,其中有很多字段取自数组(而不是模型或对象)。我如何验证这些字段的存在?solve_problem_pathdo|f|%>... 最佳答案 创建一个简单的类来包装请求参数并使用ActiveModel::Validations。#definedsomewhere,atthesimplest:require'ostruct'classSolvetrue#youcouldevencheckthesolutionwithavalidatorvalidatedoerrors.add(:base,"WRONG!!!")unlesss

  6. Ruby 写入和读取对象到文件 - 2

    好的,所以我的目标是轻松地将一些数据保存到磁盘以备后用。您如何简单地写入然后读取一个对象?所以如果我有一个简单的类classCattr_accessor:a,:bdefinitialize(a,b)@a,@b=a,bendend所以如果我从中非常快地制作一个objobj=C.new("foo","bar")#justgaveitsomerandomvalues然后我可以把它变成一个kindaidstring=obj.to_s#whichreturns""我终于可以将此字符串打印到文件或其他内容中。我的问题是,我该如何再次将这个id变回一个对象?我知道我可以自己挑选信息并制作一个接受该信

  7. ruby-on-rails - 如果 Object::try 被发送到一个 nil 对象,为什么它会起作用? - 2

    如果您尝试在Ruby中的nil对象上调用方法,则会出现NoMethodError异常并显示消息:"undefinedmethod‘...’fornil:NilClass"然而,有一个tryRails中的方法,如果它被发送到一个nil对象,它只返回nil:require'rubygems'require'active_support/all'nil.try(:nonexisting_method)#noNoMethodErrorexceptionanymore那么try如何在内部工作以防止该异常? 最佳答案 像Ruby中的所有其他对象

  8. ruby-on-rails - 未在 Ruby 中初始化的对象 - 2

    我在Rails工作并有以下类(class):classPlayer当我运行时bundleexecrailsconsole然后尝试:a=Player.new("me",5.0,"UCLA")我回来了:=>#我不知道为什么Player对象不会在这里初始化。关于可能导致此问题的操作/解释的任何建议?谢谢,马里奥格 最佳答案 havenoideawhythePlayerobjectwouldn'tbeinitializedhere它没有初始化很简单,因为你还没有初始化它!您已经覆盖了ActiveRecord::Base初始化方法,但您没有调

  9. ruby - 如何在 Rails 4 中使用表单对象之前的验证回调? - 2

    我有一个服务模型/表及其注册表。在表单中,我几乎拥有服务的所有字段,但我想在验证服务对象之前自动设置其中一些值。示例:--服务Controller#创建Action:defcreate@service=Service.new@service_form=ServiceFormObject.new(@service)@service_form.validate(params[:service_form_object])and@service_form.saverespond_with(@service_form,location:admin_services_path)end在验证@ser

  10. ruby - 这两个 Ruby 类初始化定义有什么区别? - 2

    我正在阅读一本关于Ruby的书,作者在编写类初始化定义时使用的形式与他在本书前几节中使用的形式略有不同。它看起来像这样:classTicketattr_accessor:venue,:datedefinitialize(venue,date)self.venue=venueself.date=dateendend在本书的前几节中,它的定义如下:classTicketattr_accessor:venue,:datedefinitialize(venue,date)@venue=venue@date=dateendend在第一个示例中使用setter方法与在第二个示例中使用实例变量之间是

随机推荐