swift 3.0 coreData子类

时间:2017-02-13 03:19:20

标签: swift xcode core-data swift3

现在自动生成NSMangededObject SubClass 我在哪里放置我通常放在子类文件中的代码?

现在我错过了这个文件

    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" >

<!-- Latest compiled and minified JavaScript -->
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js" ></script>

  <script type="text/javascript">
     $(document).ready(function(){
      
      $("#three").hide();  //Hiding div element
      
      $("button").click(function(){
      
        $("input").each(function() {
          if(this.type !== "hidden" && this.parentNode.style.display !== "none") {
            this.value = 2;
          }
        });

        $("#output").html("Output: " + $("#one").val() + $("#two").val() +$("#four").val());
      });
    });
    </script>

    <html>
      <body>
      <ul class="nav nav-tabs " role="tablist">
         <li class="nav-item active">
           <a class="nav-link" data-toggle="tab" href="#first" role="tab">First</a>
          </li>
          <li class="nav-item" role="presentation">
             <a class="nav-link" data-toggle="tab" href="#second" role="tab">Second</a>
          </li>
      </ul>

    <div class="tab-content" id="tab-contents">
      <div class="tab-pane active" id="first" role="tabpanel">    
        <input id="one" type="text" value="1"><br>    
        <button>Test</button>
      </div>
      <div class="tab-pane" id="second" role="tabpanel">    
        <input id="two" type="text" value="1"><br>
        <div id="three">
          <input id="four" type="text" value="1"> 
        </div>   
      </div>
     </div>
        Answer Should be : 221  (It should not change the hidden value)
        <div id="output"></div>
        </body>
      </html>

我只是创建自己的swift文件吗?

public class IneedToDoStuffHere: NSManagedObject {

 }

我对这个新设置感到困惑。

1 个答案:

答案 0 :(得分:1)

您可以在类中编写代码。创建实体后,当我们创建NSManagedObject类时,会生成两个类。

  1. 类名+ CoreDataClass.swift
  2. 导入基金会 导入CoreData

    @objc(ClassName)
    public class ClassName: NSManagedObject {
        func add(){
            var obj = ClassName()
            emp.username = "John"
            emp.email = "john@example.com"
            Employee.fetchRequest()
        }
    }
    
    1. ClassName + CoreDataProperties.swift
    2. 导入基金会 导入CoreData

      extension ClassName{
      
          @nonobjc public class func fetchRequest() -> NSFetchRequest<ClassName>{
              return NSFetchRequest<ClassName>(entityName: "ClassName");
          }
      
          public var username: String?
          public var email: String?   
      }
      

      您可以在任何类中编写代码。因为你的另一个类是一个扩展,所以用ClassName + CoreDataProperties.swift编写的代码将起作用。

      但是,您应该在ClassName + CoreDataClass.swift文件中编写代码,因为它将属性和类分开。

      由于