2016-05-27 3 views
0

Object возвращает nil description после alloc и init..может ли кто-нибудь сказать мне, что я должен отображать данные, которые поступают с сервера ... когда я нажимаю кнопку редактирования, она переходит в shoow номер класса в этом классе .. внутри текстовые поля ВГ для отображения информации .can любого помочь мнеiOS: Object возвращает nil description после alloc и init

@interface HeadOfficeDetails : NSObject 

@property(nonatomic,strong) NSMutableArray *ofcContact; 

@property(nonatomic,strong) OfficeDocument *ofcDocument; 
@property(nonatomic,strong) OfficePrice *ofcPrice; 
@property(nonatomic,strong) CityClass *city; 
@property(nonatomic,strong) StateClass *state; 
@property(nonatomic,strong) DistrictClass *district; 

@property(nonatomic,strong)NSString *shrtname; 
@property(nonatomic,strong)NSString *shwrmname; 
@property(nonatomic,strong)NSString *shop; 
@property(nonatomic,strong)NSString *door; 
@property(nonatomic,strong)NSString *buildng; 
@property(nonatomic,strong)NSString *flr; 
@property(nonatomic,strong)NSString *tele; 
@property(nonatomic,strong)NSString *pin; 
@property(nonatomic,strong)NSString *main; 
@property(nonatomic,strong)NSString *dist; 
@property(nonatomic,strong)NSString *designan; 
@property(nonatomic,strong)NSString *depart; 
@property(nonatomic,strong)NSString *emai; 
@property(nonatomic,strong)NSString *mobile; 
@property(nonatomic,strong)NSString *strt; 
@property(nonatomic,strong)NSString *area; 


@property(nonatomic,strong) NSString *jwleryname; 
@property(nonatomic,strong) NSString *officeid; 


-(void)setAttributes:(NSDictionary *)attributes; 




/////////////////////////////////////////////// 
showroom class 



headdetails=[[HeadOfficeDetails alloc]init]; 


self.txtshowroom.text=headdetails.jwleryname; 
NSLog(@"%@ :",self.txtshowroom.text); 


NSNumber *officeid=headdetails.officeid; 
NSLog([NSString stringWithFormat:@"%@",officeid]); 

[self.txtshortname setText:headdetails.jwleryname]; 
[self.txtshowroom setText:headdetails.shwrmname]; 
[self.txtstreet setText:headdetails.strt]; 
[self.txtarea setText:headdetails.area]; 
[self.txtmain setText:headdetails.main]; 
[self.txtbuilding setText:headdetails.buildng]; 
[self.txtname setText:self.cntctcls.contactname]; 
[self.txtdesign setText:self.cntctcls.desig]; 
[self.txtdepartmnt setText:self.cntctcls.depart]; 
[self.txtmbl setText:self.cntctcls.mobile]; 
[self.txtemail setText:self.cntctcls.email]; 
[self.txtfloor setText:headdetails.flr]; 
[self.txttel setText:headdetails.tele]; 
[self.txtpincode setText:headdetails.pin]; 
[self.txtshop setText:headdetails.shop]; 

ответ

0

Вот я кладу пример код для шоу NSObject класса данных, сохранить во время выборки данных с сервера и показать на другом класса, используя его экземпляр.

Ниже создать класс NSObject для хранения FBLogin userDetauls:

#import <Foundation/Foundation.h> 

@interface FBUser : NSObject 

@property (nonatomic,strong) NSString *FBUserId; 
@property (nonatomic,strong) NSString *FBUserName; 
@property (nonatomic,strong) NSString *FBUserFirstName; 
@property (nonatomic,strong) NSString *FBUserLasttName; 
@property (nonatomic,strong) NSString *FBUserEmail; 
@property (nonatomic,strong) NSString *FBUserBio; 
@property (nonatomic,strong) NSString *FBUserLocation; 

+(instancetype)SharedFBUser; 
-(void)ClearFBuser; 
+(NSString*)CheckEmtryElseAlert:(NSString*)strValue; 

@end 

Ниже класса реализация здесь мы создаем SharedFBUser что allcate FBUser объект один раз, если что нашли ноль поэтому, когда нет необходимости делать код allocinit во время показать время

#import "FBUser.h" 


static FBUser* fbObject; 

@implementation FBUser 

+(instancetype)SharedFBUser 
{ 
    if(fbObject == nil) 
    { 
     fbObject =[[FBUser alloc]init]; 
    } 

    return fbObject; 
} 
-(void)ClearFBuser 
{ 

    fbObject = nil; 
    self.FBUserId = nil; 
    self.FBUserName = nil; 
    self.FBUserFirstName =nil; 
    self.FBUserLasttName = nil; 
    self.FBUserEmail = nil; 
    self.FBUserBio = nil; 
    self.FBUserLocation = nil; 

} 

Теперь следующий код для того, как использовать FBUser класс для сохранения данных класса .H:

#import <UIKit/UIKit.h> 
#import "FBUser.h" 
@interface LoginViewController : UIViewController 
@property(nonatomic,strong)FBUser *fbObject; 
@end 

И вы можете сохранить данные в FBCallback:

[[[FBSDKGraphRequest alloc] initWithGraphPath:@"me" parameters:@{@"fields": @"id, name, link, first_name, last_name, picture.type(large), email, birthday, bio ,location ,friends ,hometown , friendlists"}] 
    startWithCompletionHandler:^(FBSDKGraphRequestConnection *connection, id result, NSError *error) { 
     if (!error) 
     { 
      NSLog(@"resultis:%@",result); 
      [FBUser SharedFBUser].FBUserId =[result valueForKey:@"id"]; 
      [FBUser SharedFBUser].FBUserEmail =[result valueForKey:@"email"]; 
       [FBUser SharedFBUser].FBUserName =[result valueForKey:@"name"]; 
      [FBUser SharedFBUser].FBUserFirstName =[result valueForKey:@"first_name"]; 
      [FBUser SharedFBUser].FBUserLasttName =[result valueForKey:@"last_name"]; 
     } 
     else 
     { 
      NSLog(@"Error %@",error); 
     } 
    }]; 

И следующий код для показа данных, которые сохранены в FBuser классе

#import "FBUser.h" 
    self.lblEmail.text = [FBUser SharedFBUser].FBUserEmail; 
    self.lblusename.text = [FBUser SharedFBUser].FBUserName; 
    self.lblfirstname.text = [FBUser SharedFBUser].FBUserFirstName; 
    self.lbllastname.text = [FBUser SharedFBUser].FBUserLasttName; 

Надеется, что поможет это полностью описанию использования и создать. это мой рабочий код.

0

Не уверен, что вы делаете, вам может понадобиться что-то похожее на словарь для синтаксического анализа.

headdetails=[[HeadOfficeDetails alloc]init];

Новый объект, созданный таким образом, все свойства будут равны нулю.

вам нужно присвоить значение для него, как

headdetails=[[HeadOfficeDetails alloc]initWithDictionary:attributes]; 

Вы можете разобрать его вашу собственную личность или смотреть некоторые 3-ю библиотеку как: JSonModel

+0

я хотел бы показать данные в текстовых полях, когда-либо пользователь щелкает на кнопке редактирования и после того, как я обновил любую вещь в текстовом поле, это обновление wil –

+0

У меня есть класс nsobject, я установил значения ключа –

+0

Когда вы запрашиваете данные с сервера, вы получите возврат JSON обратно, сначала вам нужно разобрать его на свой пользовательский объект, и после этого вы можете сопоставить его с вашим пользовательским интерфейсом. Я уверен, что вы новичок в разработке iOS, сначала прочитайте часть книги для начинающих. У RayWenderlic было много хорошего урока, вы можете прочитать этот https://www.raywenderlich.com/55384/ios-7-best-practices-part-1, чтобы понять свою проблему. – Nick